CMake to wieloplatformowy generator systemów kompilacji typu open source. Generuje pliki dla systemów kompilacji, takich jak natywne pliki makefile, pliki kompilacji ninja i pliki projektów dla kilku zintegrowanych środowisk programistycznych.
W skompilowanym projekcie GCC Jak uruchomić CMake dla każdego typu docelowego (debugowanie / wydanie)? Jak określić debugowanie i zwolnić flagi C / C ++ za pomocą CMake? Jak wyrazić, że główny plik wykonywalny zostanie skompilowany g++i jedna zagnieżdżona biblioteka gcc?
Podobnie jak make cleanusuwa wszystkie pliki utworzone przez plik makefile, chciałbym zrobić to samo z CMake. Zbyt często ręcznie przeglądam katalogi usuwając pliki takie jak cmake_install.cmakei CMakeCache.txtoraz CMakeFilesfoldery. Czy istnieje polecenie, cmake cleanaby automatycznie usunąć wszystkie te pliki? Najlepiej byłoby, gdyby podążała za strukturą rekurencyjną zdefiniowaną w CMakeLists.txtpliku bieżącego katalogu …
Robię cmake . && make all install. To działa, ale instaluje się w /usr/local. Muszę zainstalować z innym prefiksem (na przykład do /usr). Do czego należy użyć wiersza polecenia cmakei zamiast ?make/usr/usr/local
Kiedy próbuję uruchomić plik makefile wygenerowany przez CMake w celu skompilowania mojego programu, pojawia się błąd zakres oparty na pętlach nie jest obsługiwany w trybie C ++ 98. Próbowałem dodać add_definitions(-std=c++0x)do mojego CMakeLists.txt, ale to nie pomogło. Próbowałem też: if(CMAKE_COMPILER_IS_GNUCXX) add_definitions(-std=gnu++0x) endif() Kiedy to robię g++ --version, otrzymuję: g ++ …
Piszę na C / C ++ i używam (GNU) Makefile do skompilowania kodu. Mogę zrobić to samo z CMake i uzyskać MakeFile. Jaka jest jednak różnica między użyciem Makefile i CMake do kompilacji kodu?
Korzystam z CMake z GNU Make i chciałbym zobaczyć wszystkie polecenia dokładnie (na przykład jak kompilator jest wykonywany, wszystkie flagi itp.). GNU make ma --debug, ale nie wydaje się pomocne, czy są jakieś inne opcje? Czy CMake zapewnia dodatkowe flagi w wygenerowanym pliku Makefile w celu debugowania?
Mam wiele projektów zbudowanych przy użyciu CMake i chciałbym móc łatwo przełączać się między nimi za pomocą GCC lub Clang / LLVM w celu ich skompilowania. Wierzę (popraw mnie, jeśli się mylę!), Że aby użyć Clanga, muszę ustawić następujące ustawienia: SET (CMAKE_C_COMPILER "/usr/bin/clang") SET (CMAKE_C_FLAGS "-Wall -std=c99") SET (CMAKE_C_FLAGS_DEBUG "-g") …
Około rok temu zapytałem o zależności nagłówka w CMake . Ostatnio zdałem sobie sprawę, że wydaje się, że problem polega na tym, że CMake uznał te pliki nagłówkowe za zewnętrzne dla projektu. Przynajmniej podczas generowania projektu Code :: Blocks pliki nagłówkowe nie pojawiają się w projekcie (tak jak pliki źródłowe). …
Zastanawiam się, czy istnieje sposób wydrukowania wszystkich dostępnych zmiennych w CMake. Nie interesują mnie zmienne CMake - jak w --help-variablesopcji. Mówię o moich zmiennych, które zdefiniowałem lub zmiennych zdefiniowanych przez dołączone skrypty. Obecnie obejmuję: INCLUDE (${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityCXX.cmake) Miałem nadzieję, że uda mi się po prostu wydrukować wszystkie zmienne, które tu są, …
Korzystam z arm-linux-androideabi-g++kompilatora. Kiedy próbuję skompilować proste „Witaj, świecie!” program kompiluje się dobrze. Kiedy go testuję, dodając prostą obsługę wyjątków w tym kodzie, on również działa (po dodaniu -fexceptions.. Myślę, że jest domyślnie wyłączony). To jest dla urządzenia z Androidem i chcę tylko używać CMake, a nie ndk-build. Na przykład …
Obecnie buduję projekt ze strukturą wtyczek. Używam CMake do kompilacji projektu. Wtyczki są kompilowane w osobnych katalogach. Mój problem polega na tym, że CMake kompiluje i zapisuje pliki binarne i wtyczki, biblioteki dynamiczne, w strukturze katalogów źródła. Jak zmusić CMake do zapisywania plików w katalogu typu ./bin ?
Pytam o to jako przypomnienie, gdy następnym razem użyję CMake. Nigdy się nie trzyma, a wyniki Google nie są świetne. Jaka jest składnia ustawiania i używania zmiennych w CMake?
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.