Kann ich CMake-Compiler-Tests überspringen oder "error: unrecognized option '-rdynamic'" vermeiden
Kompilations-Optionen für cmake (auf windows) für ARM-target-system aber wenn ich es konfigurieren Start-compiler-tests:
CMake Error at D:/Program Files/CMake 2.8/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:52 (MESSAGE):
The C compiler "D:/Program Files/yagarto/bin/arm-none-eabi-gcc.exe" is not
able to compile a simple test program.
It fails with the following output:
Change Dir: D:/merge/complex/build/CMakeFiles/CMakeTmp
Run Build Command:D:/PROGRA~1/YAGART~1/bin/make.exe "cmTryCompileExec/fast"
D:/PROGRA~1/YAGART~1/bin/make.exe -f
CMakeFiles/cmTryCompileExec.dir/build.make
CMakeFiles/cmTryCompileExec.dir/build
make.exe[1]: Entering directory
`D:/merge/complex/build/CMakeFiles/CMakeTmp'
"D:/Program Files/CMake 2.8/bin/cmake.exe" -E cmake_progress_report
D:/merge/complex/build/CMakeFiles/CMakeTmp/CMakeFiles 1
Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o
"D:/Program Files/yagarto/bin/arm-none-eabi-gcc.exe" -o
CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c
D:/merge/complex/build/CMakeFiles/CMakeTmp/testCCompiler.c
Linking C executable cmTryCompileExec
"D:/Program Files/yagarto/bin/arm-none-eabi-gcc.exe"
"CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o" -o cmTryCompileExec
-rdynamic
arm-none-eabi-gcc.exe: error: unrecognized option '-rdynamic'
make.exe[1]: *** [cmTryCompileExec] Error 1
Mit Yagatdo 4.6.* cross-compilation-toolchain
Wie kann ich das überspringen dieses tests oder fix-rdynamic Fehler, dass ich immer?
InformationsquelleAutor der Frage Cynede | 2012-05-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie überspringen, überprüft der compiler durch hinzufügen
NONE
zu Ihremproject
nennen:aber diese können sehr weit reichende Auswirkungen. Für vollständige details, ausführen
Ich bin nicht vertraut mit ARM, also ist das wohl nicht die beste option hier. Ich denke, Sie würde besser sein, um zu sehen, ob es gibt einen Weg, um fix die
-rdynamic
Flagge.EDIT:
Wie es aussieht, war dies identifiziert als ein bug das ist tatsächlich noch ungelöst. Die Kommentare im Bugreport erwähnen, hinzufügen der folgenden Zeilen als workaround (vermutlich vor Ihrem
project
call):InformationsquelleAutor der Antwort Fraser
Scheint es, dass Sie den Gegner eigentlich etwas anderes als Linux, so sollten Sie sagen, cmake, dass Sie cross-compiling für den Allgemeinen Fall:
Gefolgt von (Optional, aber schön zum angeben):
Jedoch, wenn Sie angeben (was Sie wahrscheinlich getan haben, denn dies wird in einer Menge von Beispiele online):
Dann cmake-lädt die Konfigurationsdateien aus (nehme an, version 2.8) die Datei:
von denen es wahrscheinlich zu laden:
Hier die
-rdynamic
flag gesetzt ist, aus historischen Gründen:Anstatt deaktivieren der tests, die in der Tat erfolgt durch Angabe
NONE
alsPROJECT
argument, es scheint die Einstellung derCMAKE_SYSTEM_NAME
(etwas anderes alsLinux
zum BeispielGeneric
) ist das, was Sie wirklich wollen, zu tun.InformationsquelleAutor der Antwort Anne van Rossum
Können Sie festlegen, Flagge CMAKE_<LANG>_COMPILER_WORKS, zB.:
unterdrücken weiteren compiler überprüft.
InformationsquelleAutor der Antwort adiog