Ich verwende Eclipse zum Erstellen eines avr-gcc-Projekts, das Assembler-Code und C-Quelldateien mischt. Ich möchte die automatische Makefile-Generierung von Eclipse loswerden, weil ich einige Prozesse in den Makefiles und aus anderen Gründen automatisieren muss.
Ich habe vor einiger Zeit cmake verwendet und war damit zufrieden, also möchte ich versuchen, meine Quelldateien damit zu kompilieren. Alles läuft wie erwartet mit C-Quellen. Das Problem ist, dass ich am Ende einige Assembly-Dateien (eigentlich 2) kompilieren und zum Ziel hinzufügen muss.
Ich habe gegoogelt, aber ich habe keinen Weg gefunden, dies zu tun. hat jemand eine idee wie man das macht?
Das Problem ist, dass ich in Eclipse -x assembler-with-cpp habe
zur gcc-argumentliste hinzugefügt. Ich muss einen Weg finden, diesen Parameter nur für die asm-Dateien selektiv zur Standard-gcc-Argumentliste hinzuzufügen. Ich habe keine Möglichkeit gefunden, dies zu tun.
Vielen Dank im Voraus
LÖSUNG: Legen Sie in CMakeLists.txt jede Datei fest, die in derselben Liste kompiliert werden soll
enable_language(C ASM)
set ( SOURCES
foo.c
bar.c
foobar.s
)
add_executable(program ${SOURCES} )
In der Toolchain-Datei sollten Sie Folgendes platzieren:
SET(ASM_OPTIONS "-x assembler-with-cpp")
SET(CMAKE_ASM_FLAGS "${CFLAGS} ${ASM_OPTIONS}" )
Die zweite Zeile ist nur, wenn Sie beim Kompilieren von Asm-Dateien zusätzliche Optionen übergeben müssen. Ich wollte alle CFLAGS plus einige ASM_OPTIONS übergeben
Können Sie genauer beschreiben, was das Problem beim Kompilieren der Assemblerquellen ist?
– Mats Petersson
28. Februar 2013 um 10:57 Uhr
Ich habe meinen Beitrag editiert. Bitte sehen Sie es für neue Details. Ich hoffe, sie reichen aus, um zu verstehen, was das Problem ist. Danke nochmal
– andyinno
28. Februar 2013 um 13:30 Uhr
Ich verstehe nicht. Sie möchten keine von Eclipse generierten Makefiles verwenden und sich über die von Eclipse geschriebenen Makefiles beschweren?
– Vonbrand
28. Februar 2013 um 20:14 Uhr
Ich möchte die automatisch generierten Makefiles von Eclipse nicht verwenden, da ich das Build-System in einer Jenkins-Umgebung auf dem Server platzieren muss. Das automatisch generierte Makefile hat einen fest codierten Pfad und ist nicht für die Verwendung in Jenkins geeignet. Die Alternativen, die ich gefunden habe, waren, mein eigenes Makefile zu schreiben oder so etwas wie cmake zu verwenden. cmake funktioniert perfekt für alles. Ich habe nur Probleme beim Kompilieren von asm-Dateien. Ich bin kein CMake-Guru, ich habe es in der Vergangenheit für einfache Projekte verwendet.
– andyinno
1. März 2013 um 8:14 Uhr