[解決済み] CMakeでCFLAGSとCXXFLAGSオプションを設定する
2023-01-12 18:52:03
質問
私は Linux 上で動作するコードをデバッグしたいだけなのですが、デバッグビルド (
-O0 -ggdb
). そこで、私はこれらのものを私の
CMakeLists.txt
:
set(CMAKE_BUILD_TYPE DEBUG)
set(CMAKE_C_FLAGS "-O0 -ggdb")
set(CMAKE_C_FLAGS_DEBUG "-O0 -ggdb")
set(CMAKE_C_FLAGS_RELEASE "-O0 -ggdb")
set(CMAKE_CXX_FLAGS "-O0 -ggdb")
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -ggdb")
set(CMAKE_CXX_FLAGS_RELEASE "-O0 -ggdb")
コンパイルするときに、verboseをオンにすると
make VERBOSE=1
そして、このような出力を確認しました。
... /usr/bin/c++ -D_BSD_SOURCE **-O0 -ggdb** -Wnon-virtual-dtor
-Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W
-Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS
-fno-check-new -fno-common -Woverloaded-virtual -fno-threadsafe-statics
-fvisibility=hidden -fvisibility-inlines-hidden **-g -O2**
-fno-reorder-blocks -fno-schedule-insns -fno-inline ...
どうやらこのコードはコンパイル時に
"-g -O2"
でコンパイルされているようですが、これは私が欲しいものではありません。どうすれば、強制的に
"-O0 -ggdb"
のみを使用するように強制するにはどうしたらよいでしょうか?
どのように解決するのですか?
フラグを設定する必要があります。
の後に
は
project
コマンドを CMakeLists.txt に追加してください。
また、もしあなたが
include(${QT_USE_FILE})
または
add_definitions(${QT_DEFINITIONS})
を使用する場合は、これらを含める必要があります。
set
というコマンドをQtのコマンドの後に入れるべきです。 もし、その
は
であれば、Qtのフラグにあなたのフラグを追加したいだけかもしれませんので、例えば次のように変更します。
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0 -ggdb")
関連
-
[解決済み] プロジェクトでCMAKE_CXX_FLAGSを変更する
-
[解決済み] CMakeでポータブルパラレルビルドを設定するには?
-
[解決済み] cmakeのincludeコマンドにおいて、ファイルとモジュールの違いは何ですか?
-
[解決済み] MakefileとCMakeを使ったコンパイルの違いについて
-
[解決済み】CMakeをGNU Makeと一緒に使う:正確なコマンドを見るにはどうすればいい?
-
[解決済み】CMakeでGCCとClang/LLVMの切り替えを行う。
-
[解決済み】変数を設定・使用するCMakeの構文とは?
-
[解決済み] CMakeで文字列を複数行に分割するには?
-
[解決済み] cmake の `file(GLOB ... )` パターンから単一のファイルを除外するにはどうすればよいですか?
-
[解決済み] cmake` から `pkg-config` を使用する正しい方法は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] プロジェクトでCMAKE_CXX_FLAGSを変更する
-
[解決済み] CMake の add_definitions が動作しないようです。
-
[解決済み] CMake でモジュールディレクトリが見つからない
-
[解決済み] CMakeでポータブルパラレルビルドを設定するには?
-
[解決済み] cmake --verbose=1` は冗長なcmake出力をしますが、`cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON` はそうならないのはなぜですか?
-
[解決済み】CMake:スクリプト内のアクセス可能なすべての変数を出力する
-
[解決済み] CMakeはどのように使われるのですか?[クローズド]。
-
[解決済み] CMakeにソースディレクトリにある静的ライブラリをリンクするように指示するには?
-
[解決済み] CMakeにおける関数とマクロの比較
-
[解決済み] CMakeで一般的なコンパイルフラグを設定するための最新の方法とは何ですか?