Jak CMake wybiera gcc i g ++ do kompilacji?
Jestem nowy w CMake i zastanawiałem się nad projektem C ++/C w środowisku LINUX, w jaki sposób CMake może wybierać kompilatory między gcc i g ++. A dokładniej, moje pytania są następujące:
- Jeśli projekt składa się z plików .c i .cpp, czy to prawda pliki .c zostaną skompilowane przez gcc, a pliki .cpp - są kompilowane g ++
- Jeśli projekt zawiera tylko pliki c lub pliki cpp, to co to jest domyślna operacja kompilacji dla CMake Czy będzie można to zmienić
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
2 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Możesz zepsuć prawie wszystko. Istnieją flagi i zmienne, które wiążą rozszerzenia z językiem, a następnie język z opcjami kompilatora/pliku wykonywalnego, które definiują zestawy narzędzi i cele kompilacji.
Sprawdź poniższe linki do dokumentacji. To kilka fajnych krótkich lektur.
Uwaga: wiki może być nieaktualne, ale powinno tak być w przypadku ważnego i edukacyjnego pytania.
PS. Istnieje wiele powiązanych opcji. Aby uzyskać dłuższą lekturę, możesz sprawdzić następujące sekcje dokumentacji:
właściwości plików źródłowych
http://www.cmake.org/cmake/hel ... Files
i
zmienne dla języków
http://www.cmake.org/cmake/hel ... es... 2. i 3. zaczynają się od tych sekcji.
Anonimowy użytkownik
Potwierdzenie od:
To zachowanie można łatwo zmienić. CMake używa zmiennych środowiskowych, aby zobaczyć, którego kompilatora użyć. Jeśli chcesz zmienić kompilator na przykład na clang i clang ++, możesz to po prostu zrobić
eksport CC = clang
eksport CXX = clang ++
przed uruchomieniem cmake.