Zainstalowałem Clang przy użyciu apt-get w Ubuntu, i mogę z powodzeniem skompilować pliki C z niego korzystające. Jednak nie mam pojęcia, jak skompilować za jego pomocą C++. Co muszę zrobić, aby skompilować C++?Jak skompilować C++ z Clang?
Odpowiedz
Polecenie clang
dotyczy C, a polecenie clang++
dotyczy C++.
Miałem podobny problem podczas budowania Clang ze źródła (ale nie z sudo apt-get install
. Może to zależeć od wersji Ubuntu, z której korzystasz.
To może być warta sprawdzenia, czy clang++
można znaleźć odpowiednie lokalizacje swoich bibliotek C++:
Porównaj wyniki g++ -v <filename.cpp>
i clang++ -v <filename.cpp>
, pod „#include < ...> Wyszukiwanie zaczyna się tutaj”.
Również dla potomności - Clang (jak GCC) akceptuje przełącznik -x
aby ustawić język plików wejściowych, na przykład,
$ clang -x c++ some_random_file.txt
Ta lista wątek wyjaśnia różnicę między clang
i clang++
dobrze : Difference between clang and clang++
Miałem błąd linkera z _clang -x C++ _ gdy skompilowałem plik cpp z '#include
Mam teraz kod źródłowy Clang na moich oczach. Podczas kompilacji (w systemie Windows) najpierw buduje 'clang.exe', a następnie kopiuje pliki wykonywalne do' clang ++. Exe'. Tak więc jest to ten sam plik wykonywalny, tylko w czasie wykonywania sprawdza własną nazwę, aby rozróżnić, czy zachowywać się jak kompilator C lub C++. HTH. –
Jako notatkę, opcja '-x C++ 'była bardzo przydatna jako" -extra-arg' do * clang-tidy *, aby zmusić ją do traktowania pliku .h jako zawierającego C++ zamiast C. –
Nie wiem, dlaczego nie ma odpowiedzi bezpośrednio rozwiązującej problem. Gdy chcesz skompilować program w C++, najlepiej jest użyć clang++
. Na przykład, następujące prace dla mnie:
clang++ -Wall -std=c++11 test.cc -o test
Jeśli skompilowany poprawnie, będzie produkować plik wykonywalny test
i można uruchomić plik za pomocą ./test
.
Lub możesz po prostu użyć clang++ test.cc
, aby skompilować program. Zostanie utworzony domyślny plik wykonywalny o nazwie a.out
. Użyj pliku ./a.out
, aby uruchomić plik.
Cały proces jest podobny do g ++, jeśli znasz g ++. Zobacz this post, aby sprawdzić, które ostrzeżenia są dołączone do opcji -Wall
. This page wyświetla listę flag diagnostycznych obsługiwanych przez Clang.
- 1. Jak skompilować C++ 11 z klangiem 3.2 na lodzie OSX?
- 2. Jak napisać i skompilować kod Objective-C?
- 3. Jak skompilować plik C++ do WebAssembly?
- 4. Jak mogę skompilować rozwiązanie C# z Roslyn?
- 5. Nie można skompilować krzyżowo do SPARC za pomocą clang
- 6. Obsługa Clang 3.3 i C++ 14?
- 7. Obsługa C++ 14 w QtCreator z Clang
- 8. Jak skompilować C++ z obsługą C++ 11 w Mac Terminal
- 9. Dlaczego kompilator Clang ++ nie może skompilować następującego kodu szablonu variadic?
- 10. Jak znaleźć wycieki pamięci z Clang
- 11. Clang
- 12. C++ 11 alternatywa dla OpenMP z clang
- 13. Jak używać modułów C++ w Clang?
- 14. g ++ z python.h, jak skompilować
- 15. Jak skompilować C++ dla Windows z klangiem w Visual Studio 2015
- 16. Jak wygenerować AST z łańcucha C++ za pomocą Clang?
- 17. Nie mogę skompilować C++ z gcc
- 18. Jak skompilować plik C bez wizualnego studio
- 19. Jak skompilować kod C do Swift Framework
- 20. Jak skompilować C++ pod Ubuntu Linux?
- 21. Jak dodać ścieżkę włączenia do flickheck c/C++ - clang?
- 22. Jak skompilować program C bez żadnej optymalizacji?
- 23. Jak skompilować projekt C w trybie C99?
- 24. Czy mogę skompilować funkcję z gcc, a następnie użyć go z clang?
- 25. Jak połączyć libstdC++ statycznie z clang ++
- 26. Jak skompilować różne pliki c z różnymi CFLAGS używając Makefile?
- 27. Jak skompilować kod C++ 11 z Androidem ndk i eclipse?
- 28. Jak mogę skompilować tylko standardowe C++ z GNU g ++?
- 29. Jak skompilować OpenCV iOS z ENABLE_BITCODE
- 30. Jak skompilować i uruchomić program C/C++ w systemie Android
Nie, nie działa. Czy musimy go dodatkowo zainstalować? – pythonic
Obawiam się, że moja kryształowa kula to wada, więc musiałbyś powiedzieć nam, czy są jakieś komunikaty o błędach;) –
@ user1018562 Proszę określić "nie działa". Czy to polecenie "nie znaleziono" lub inny błąd? – adl