2017-06-24 24 views
0

CMakeを使用してVS 2017プロジェクトのqtリソースファイルにアクセスする際に問題があります。 Qt Creatorを使用してqrcファイルにアクセスできました。私は以下の質問があります:CMakeを使用してVS 2017のQtリソースファイルにアクセス

  • リソースファイルはどこに置くのですか?私は、リソースファイルをルートディレクトリに置くことをお勧めします。私はファイルをルートディレクターとディレクトリに置くことを試みました。
  • CMakeLists.txtファイルにどのような変更を加える必要がありますか?
  • リソースファイルはどのように参照できますか?私はインターネット上で見つけることができるすべての指示を試みました。しかし、どれもうまくいかないようです。私は試してみました: ":/接頭辞/ファイルパス/ファイル名"または ":接頭辞/ファイルパス/ファイル名"。

ありがとうございます!

答えて

0

.qrcファイルを自由に配置することができます。私のプロジェクトでは/resというフォルダに作成しますが、あなたの選択です。リソースにファイルを追加するには、.qrcファイルを通常のxmlファイルとして手動で編集します。ここでは簡単な例:このリソースで

<RCC> 
    <qresource prefix="/menu_img"> 
     <file alias="cancel_img">icons/cancel-512.png</file> 
     <file alias="open_img">icons/folder-512.png</file> 
     <file alias="print_img">icons/printer-512.png</file> 
    </qresource> 
</RCC> 

は画像がフォルダicons内にあるファイルや.qrc外です。あなたのターゲットに続い

qt5_add_resources(PROJECT_RESOURCE path_to_rosource_file/resources.qrc)

あなたはこのrosourceを追加する必要があります:

add_executable(
    ${TARGET_PROJECT} 
    ${PROJECT_SOURCES} 
    ${PROJECT_HEADERS} 
    ${PROJECT_RESOURCES}) 
あなた .qrcファイルの準備ができたことをした後、(あなたがqt5を使用すると仮定して)あなたは CMakeList.txtに次の行を追加する必要があります

あなたのリソースは通常どおりプロジェクト内で利用可能です:/menu_img/cancel_img

+0

t詳細な説明はたくさんあります。 resources.qrcをPROJECT_RESOURCEに追加した後、CMakeは自動的にファイル名をresource.qrcからqrc_resources.cppに変更します。それから、ファイルを見つけることができないと言います。理由を理解するのを助けてくれますか? – DavidY

+0

ファイル 'qrc_resources.cpp'が作成されたことはまったく正常です(これはバイナリターゲットにリソースを追加する方法です)。このファイルは他のファイルと同じフォルダに作成されるというのは奇妙です。それはあなたがCMakeを正しく使用していないことを私に示唆しています。すべてのCMakeテンポラリファイルは、プロジェクトルートをダーティにしないために、例えば 'build'という別のディレクトリに作成する必要があります。 – Elia

+0

私の混乱の謝罪。私はCMakeがビルドフォルダ内の.cppファイルを期待しているが、見つけられないと言おうとしていました。私はビルドフォルダを検索し、拡張子 ".depends"を持つファイルをいくつか見つけました。しかし、qrcの.cppファイルが見つかりませんでした。私はすでにCMAKE_AUTORCCをonに設定しています。 – DavidY

関連する問題