問題タブ [cflags]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3844 参照

c++ - CMakeLists.txtを変更せずに(おそらくCLIを介して)CFLAGSとCXXFLAGSをcmakeに渡すにはどうすればよいですか?

私が取り組んでいるプロジェクトの CMakeLists.txt を変更することはできません。そこで使用されている cmake ツールチェーン ファイルは、リリース用に C および CXX FLAGS のみを宣言しています。

したがって、デバッグのために、独自のフラグを強制する必要があります (つまり、CFLAGS と CXXFLAGS に -O0 -DDEBUG を追加する)。

そこで、次の例を使用してcliを試しました

main.cpp:

CMakeLists.txt:

cmake の呼び出し:

期待どおりの結果は、2 つの変数を空のままにします

と私は疑問に思っています。

cmake "--trace" を使用して何が行われているかを確認しようとしましたが、cmake が同じ名前の環境変数から変数を初期化する関連部分が見つかりませんでした。

使用できる別の変数はありますか? おそらく別の方法ですか?

0 投票する
1 に答える
376 参照

linux - コマンドラインで CFLAGS を Makefile に渡す

Makefile プロジェクトのカバレッジを監視しようとしています。

しかし、上記のコマンドは機能していないようで、次のようになります。

最初の行から、gcc が呼び出されたときに CFLAGS が適切に追加されていないことがわかります。「make」の起動中に gcc のビルド オプションに cflags を含めるにはどうすればよいですか?

問題があれば、Ubuntu 14でBashを使用しています。

0 投票する
1 に答える
584 参照

c - 特定のファイルをコンパイルし、特定のターゲットが選択されている場合にのみ Makefile にフラグを追加するにはどうすればよいですか?

現在、C プロジェクトの Makefile を作成するときに問題に直面しています。

特に、私のプロジェクトには少なくとも 2 つの Makefile ターゲット (target_lighttarget_full) が必要target_lightです。これがデフォルトのターゲットです。

target_lightシステムに外部ライブラリをインストールする必要があるいくつかのソース ファイルを除いて、すべてのソース ファイルをコンパイルする必要があります ( src/extra.c ファイルの場合は に保存され、include/extra.h ファイルの場合は に保存されます)。 target_full代わりに、外部ライブラリを必要とするファイルを含むすべてのファイルをコンパイルする必要があります。また、 および にいくつかのフラグを追加する必要がCFLAGSありLDLIBSます。

現在、次のような Makefile があります。

私は現在、要求された場合にのみ追加のファイルをコンパイルするために、target_fullこの Makefileに追加する方法を見つけるのに苦労しています。SRC_DIR_EXTERNAL_FILES OBJ_DIR_EXTERNAL_FILES SRC_EXTERNAL_FILES OBJ_EXTERNAL_FILES

この操作を実行するにはどうすればよいですか? Makefile 内でこれを行う良い方法はありますか?

CFLAGS私の2番目の質問は、フラグを両方に同時に追加するにはどうすればよいLDLIBSですtarget_fullか? 私は書いてみました:

そして、次の$(EXECNAME)行を変更します。

ただし、追加のLDLIBSフラグは、が選択されている場合でも常に考慮されるようtarget_lightです。

次の行のように 2 回繰り返す必要がありますtarget_fullか?

事前にどうもありがとうございました。

0 投票する
1 に答える
364 参照

cmake - CMake CXXFlags -O2 / -O3

私は CMake にまったく詳しくありませんが、使用されている CXXFlags (-O2 および -O3) をクリーンアップするタスクを取得しました。

ログには次のように出力されます: "USING CXXFLAGS = '-g -O2 -fdebug-prefix-map=/build/cgal-ZyilPF/cgal-4.11=. time -D_FORTIFY_SOURCE=2 -frounding-math -O3 -DNDEBUG'"

-O2 と -O3 は最適化のためのものであることがわかりましたが、なぜ両方が使用される可能性があるのでしょうか?