23

-S実行可能ファイルの 1 つを GCCに渡そうとしています。私はこれを試しました:

set_target_properties(MyTarget PROPERTIES COMPILE_FLAGS "-S") 

しかし、「ファイル形式が認識されません。リンカースクリプトとして扱います」というメッセージが表示されます

(その行がなくても問題なくビルドされます)

このまま通過して何か問題がある-Sのでしょうか?または、CMake にアセンブリ .s ファイルを出力させる別の方法はありますか?

4

2 に答える 2

27

CMake には、アセンブラーとプリプロセッサーの両方の出力用に組み込まれたターゲットがあります。というファイルの場合src.cpp、CMakesrc.sはアセンブラー出力とsrc.iプリプロセッサー出力のターゲットを生成します。コンパイルフラグが異なる場合に備えて、各ターゲットのアセンブラー/プリプロセッサー出力を個別に生成します。CMake プロジェクトの make ジェネレーターを使用すると、次のようなアセンブラーとプリプロセッサの出力を取得できます。

make src.s   # assembler output
make src.i   # preprocessor output
于 2013-01-16T10:34:09.380 に答える
18

MyTarget 実際にビルドして生成されたアセンブリをそのままにしようとしている場合は、置き換え-S-save-tempsから行うことができますmake MyTarget

于 2012-10-19T20:49:26.080 に答える