CMake: CMakeLists.txt - Ich checks einfach nicht!
-
Hallo,
obwohl ich mir jetzt dieses Tutorial http://www.cmake.org/cmake/help/examples.html zu CMake angeschaut hab, blick ichs nicht...
ich will einfach, dass ein UNIX Makefile generiert wird. ich will einfach, dass aus einigen c-sourcecode-dateien mit dem gcc eine dynamic library compiliert wird.
mein bisheriges \1:
cmake_minimum_required(VERSION 2.6) projekt(testprojekt) add_subdirectory(source) add_subdirectory(binary) cmake_c_compiler(gcc)
Die Sache geht schon damit los, dass cmake nicht erkennt, dass ich Unix Makefiles will:
cmake -G "Unix Makefiles" CMakeLists.txt
Und ich weiß nicht, wie es weitergeht...
und der befehl cmake_c_compiler(gcc) scheint auch nicht zu funktionieren.
könnte mir bitte jemand helfen?
-
Was hast Du denn für Fehlermeldungen?
Hast Du in dein Verzeichnissen "source" und "binary" denn auch noch CMakeLists.txt's? Zum kennelernen von CMake würde ich auch erstmal nicht mit add_subdirectory arbeiten.
Soweit ich weiß, musst Du
cmake -G "Unix Makefiles" .
im Verzeichnis der Datei CMakeLists.txt aufrufen.
Viel Erfolg!
-
CMake Error: Error: generator : Unix Makefiles
Does not match the generator used previously: NMake Makefiles
Either remove the CMakeCache.txt file or choose a different binary directory.?
-
überfordert schrieb:
CMake Error: Error: generator : Unix Makefiles
Does not match the generator used previously: NMake Makefiles
Either remove the CMakeCache.txt file or choose a different binary directory.?
einfach die von CMake generierten Files löschen.
Ich mache es jeweils so:
|- MeinProjektVerzeichnis |- CMakeLists.txt |- Build |- .. Sourcen etc.
Wechsle (auf der Commandline) ins Verzeichnis
Build
und gebe danncmake -G "Unix Makefiles" ..
ein (.. bedeutet: CMake findet das CMakeLists.txt im Eltern-Verzeichnis). CMake generiert dann die Files ins Verzeichnis Build und genau diese kannst du auch wieder löschen. Natürlich könntest du auch weitere Unterverzechnisse in Build machen - je nach Compiler, Plattform, Architektur, etc.
-
Vielleicht benutz ich dann doch das GNU build system...