我正在嘗試將-S傳遞給我的可執行文件之一的gcc。我嘗試這樣做:爲目標生成程序集
set_target_properties(MyTarget PROPERTIES COMPILE_FLAGS "-S")
,但我得到「文件格式無法識別,治療對象的鏈接腳本」
(它建立細而沒有線)
是不是有什麼毛病傳球-S像這個?還是有另一種方法讓CMake輸出程序集.s文件?
我正在嘗試將-S傳遞給我的可執行文件之一的gcc。我嘗試這樣做:爲目標生成程序集
set_target_properties(MyTarget PROPERTIES COMPILE_FLAGS "-S")
,但我得到「文件格式無法識別,治療對象的鏈接腳本」
(它建立細而沒有線)
是不是有什麼毛病傳球-S像這個?還是有另一種方法讓CMake輸出程序集.s文件?
如果你想真正建立MyTarget
和離開生成的程序集,您可以替換-S
與-save-temps
然後做make MyTarget
有趣,謝謝! –
CMake的內置了兩個彙編器和預處理器輸出目標。對於名爲src.cpp
的文件,CMake爲彙編程序輸出生成目標src.s
,爲預處理程序輸出生成src.i
。它在編譯標誌不同的情況下分別爲每個目標生成彙編/預處理器輸出。使用make發電機爲您CMake的項目,你可以得到彙編器和預處理器輸出是這樣的:
make src.s # assembler output
make src.i # preprocessor output
我該如何將它與隔行掃描源註釋相結合,例如[本](http://stackoverflow.com/a/137479/388010)? g ++ -g -O0 -c -fverbose -asm -Wa,-adhln test.cpp> test.lst' –
現在,我手動修改正確的makefile並在生成後添加'-fverbose-asm' 。然後我可以使用'as -alhnd'位。 –
我瞭解到,如果輸入「做幫助」上CMake的項目,你會看到的目標列表。 「MyTarget.s」就是其中之一,所以簡單地做「製作MyTarget.s」生成我正在尋找的程序集。 –