[解決済み】CMakeでプリプロセッサー・マクロを定義する?
2022-03-25 04:48:33
質問
CMakeでプリプロセッサー変数を定義するには?
同等のコードは次のようになります。
#define foo
.
解決方法は?
長い間、CMakeは
add_definitions
コマンドを使用します。しかし、最近では、このコマンドは、より細かいアプローチ(コンパイル定義、インクルードディレクトリ、コンパイラオプションのための別々のコマンド)に取って代わられてきています。
新しい 追加_コンパイル_定義 :
add_compile_definitions(OPENCV_VERSION=${OpenCV_VERSION})
add_compile_definitions(WITH_OPENCV2)
または
add_compile_definitions(OPENCV_VERSION=${OpenCV_VERSION} WITH_OPENCV2)
これの良いところは、CMake が用意している
add_definitions
. CMakeはとてもみすぼらしいシステムですが、彼らはようやく正気を取り戻しつつあります。
コンパイラフラグに使用するコマンドについては、こちらで詳しく説明しています。 https://cmake.org/cmake/help/latest/command/add_definitions.html
同様に、Jim Hunzikerの回答で説明されているように、ターゲットごとに行うことができます。
関連
-
[解決済み】C++ 式はポインタからオブジェクトへの型を持っている必要があります。
-
[解決済み] クラスにデフォルトコンストラクタが存在しない。
-
[解決済み] C++11では、標準化されたメモリモデルが導入されました。その意味するところは?そして、C++プログラミングにどのような影響を与えるのでしょうか?
-
[解決済み] なぜC++はPythonよりもstdinからの行の読み込みが遅いのですか?
-
[解決済み] Linux上で動作するC++コードのプロファイリングを行うにはどうすればよいですか?
-
[解決済み] Cプリプロセッサはなぜ "linux "という単語を定数 "1 "と解釈するのですか?
-
[解決済み] CMakeにおけるデバッグとリリースの比較
-
[解決済み] CMakeの出力をクリアするための'cmake clean'コマンドを探しています。
-
[解決済み] MakefileとCMakeを使ったコンパイルの違いについて
-
[解決済み】ローカル変数のメモリはスコープ外からアクセスできる?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】coutはstdのメンバではない
-
[解決済み】関数名の前に期待されるイニシャライザー
-
[解決済み] クラスにデフォルトコンストラクタが存在しない。
-
[解決済み】テンプレートの引数1が無効です(Code::Blocks Win Vista) - テンプレートは使いません。
-
[解決済み] 非常に基本的なC++プログラムの問題 - バイナリ式への無効なオペランド
-
[解決済み] [Solved] インクルードファイルが開けません。'stdio.h' - Visual Studio Community 2017 - C++ Error
-
[解決済み】C++ - ステートメントがオーバーロードされた関数のアドレスを解決できない。
-
[解決済み] 数値定数の前にunqualified-idを付けて、数値を定義することを期待する。
-
[解決済み】VC++の致命的なエラーLNK1168:書き込みのためにfilename.exeを開くことができません。
-
[解決済み] スタックアロケーションにより初期化されていない値が作成された