CMake ist ein plattformübergreifender Open-Source-Generator für Build-Systeme. Es generiert Dateien für Build-Systeme wie native Makefiles, Ninja-Build- und Projektdateien für mehrere integrierte Entwicklungsumgebungen.
Ich bitte dies, um mich daran zu erinnern, wenn ich CMake das nächste Mal benutze. Es bleibt nie hängen und die Google-Ergebnisse sind nicht großartig. Wie lautet die Syntax zum Festlegen und Verwenden von Variablen in CMake?
Ich denke darüber nach, ein plattformübergreifendes Projekt von separaten Build-Management-Systemen in Visual C ++, XCode und Makefiles auf CMake umzustellen. Eine wesentliche Funktion, die ich benötige, ist das automatische Hinzufügen aller Dateien in einem Verzeichnis zu einem Ziel. Dies ist zwar einfach mit make zu tun, mit Visual C ++ …
CMake bietet verschiedene Möglichkeiten, um die Quelldateien für ein Ziel anzugeben. Eine ist die Verwendung von Globbing ( Dokumentation ), zum Beispiel: FILE(GLOB MY_SRCS dir/*) Eine andere Methode besteht darin, jede Datei einzeln anzugeben. Welcher Weg wird bevorzugt? Globbing scheint einfach zu sein, aber ich habe gehört, dass es einige …
Ich frage das nicht nur für mich. Ich hoffe, diese Frage ist eine Referenz für die vielen Neulinge, die mich mögen, und fand es äußerst verwirrend, was genau hinter den Kulissen vor sich ging, wenn es um eine so kleine CMakeLists.txtDatei ging cmake_minimum_required (VERSION 2.6) project(Tutorial) add_executable(Tutorial tutorial.cpp) und so …
Wir haben eine Reihe von plattformübergreifenden CMake-Build-Skripten und unterstützen das Erstellen mit Visual C ++ und GCC . Wir probieren Clang aus , aber ich kann nicht herausfinden, wie ich mit unserem CMake-Skript testen kann, ob der Compiler Clang ist oder nicht. Was soll ich testen, um festzustellen, ob der …
Ich habe eine Bibliothek geschrieben, die ich mit einem selbstgeschriebenen Makefile kompiliert habe, aber jetzt möchte ich zu cmake wechseln. Der Baum sieht folgendermaßen aus (ich habe alle irrelevanten Dateien entfernt): . ├── include │ ├── animation.h │ ├── buffers.h │ ├── ... │ ├── vertex.h │ └── world.h └── …
Ich versuche, mein Projekt so zu strukturieren, dass es die Produktionsquellen (im srcUnterordner) und Tests (im testUnterordner) enthält. Ich benutze CMake, um dies zu erstellen. Als minimales Beispiel habe ich die folgenden Dateien: CMakeLists.txt: cmake_minimum_required (VERSION 2.8) project (TEST) add_subdirectory (src) add_subdirectory (test) src / CMakeLists.txt: add_executable (demo main.cpp sqr.cpp) …
Wie kann ich CMAKE dazu bringen, unter einer bestimmten Bedingung einen Fehler zu generieren? Das heißt, ich möchte so etwas: if( SOME_COND ) error( "You can't do that" ) endif()
Ich habe eine Verzeichnisstruktur für meinen C ++ - Code, die folgendermaßen aussieht: | |->include |->src Ich schreibe eine CMakeLists.txt-Datei für meinen Code. Ich möchte den Unterschied zwischen include_directoriesund target_include_directoriesin verstehen CMake. Was ist der Unterschied zwischen ihrer Verwendung und dem Pfad, den ich verwenden soll, um meinen Include-Dateipfad hinzuzufügen?
Ist es möglich, ein Projekt in 32-Bit mit cmakeund gccauf einem 64-Bit- System zu kompilieren ? Es ist wahrscheinlich, aber wie mache ich das? Als ich es auf "ignorante" Weise versuchte, ohne Parameter / Flags / usw. festzulegen, schien es nur zu ignorieren, nur LD_LIBRARY_PATHdie verknüpften Bibliotheken ~/tools/libdarin zu finden, …
Wie kann CMake dazu gebracht werden, eine ausführbare Datei mit einer externen gemeinsam genutzten Bibliothek zu verknüpfen, die nicht im selben CMake-Projekt erstellt wurde? Nur zu tun target_link_libraries(GLBall ${CMAKE_BINARY_DIR}/res/mylib.so)gibt den Fehler make[2]: *** No rule to make target `res/mylib.so', needed by `GLBall'. Stop. make[1]: *** [CMakeFiles/GLBall.dir/all] Error 2 make: *** …
Vor kurzem wurde mir die Verwendung von CMake zum Kompilieren meiner C ++ - Projekte verkauft, und ich möchte jetzt einige Komponententests für meinen Code schreiben. Ich habe mich entschieden, das Google Test-Dienstprogramm zu verwenden, um dies zu unterstützen, benötige jedoch Hilfe beim Einstieg. Den ganzen Tag habe ich verschiedene …
Ich bin neu in der Programmierung im Allgemeinen und habe beschlossen, zunächst eine einfache Vektorklasse in C ++ zu erstellen. Ich möchte jedoch von Anfang an gute Gewohnheiten lernen, anstatt später zu versuchen, meinen Workflow zu ändern. Ich habe derzeit nur zwei Dateien vector3.hppund vector3.cpp. Dieses Projekt wird langsam wachsen …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.