QtCreator 3.1.1を使用してクロスプラットフォームプロジェクトを構築しているので、デスクトップPCとBeagleBoneBlack(BBB)を対象とするさまざまなコンパイルキットを用意しました。
ここ.pro
で、特定のキットにのみ固有のマクロをqmakeプロジェクトファイル()で定義したいと思います。
言い換えれば、私は自分の.pro
ファイルで次のようなことをしたいと思います。
if(kit == BBB)
DEFINES += MY_BBB_MACRO
elseif(kit == Desktop)
DEFINES += MY_DESKTOP_MACRO
else
DEFINES += OTHER_MACRO
可能ですか?どうやってやるの?
私はこの問題についてQtフォーラム(ここを見てください)でいくつかの助けを得ました...
とにかく、解決策はqmakeの組み込みテスト関数を使用することです。
基本的にCONFIG
、QtCreatorのプロジェクト管理にいくつかのディレクティブを追加しました。次のスクリーンショットでは、たとえばCONFIG+=BBB
、BBBキットのプロジェクト構成に追加したことがわかります。同じように私が追加したCONFIG+=AM335x
とCONFIG+=Desktop
、それぞれ、AM335xとデスクトップキットに...
次に、私の.pro
ファイルに次のようなものを追加しました。
そして今、私のソースコードに私のようなものを使用することができ#ifdef PLATFORM_BBB
、#ifdef PLATFORM_AM335X
および#ifdef PLATFORM_DESKTOP
コンパイルキットに応じて、プログラムの動作を区別するため。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加