2016-08-11 9 views
1

私はcmakeを使うためにQtを使って既存のプロジェクトを移植しようとしています。プロジェクトには、uiと(1)qrcのファイルがあります。私が使用している場合CMakeLists.txtでは、:Qt5とCMAKE_AUTORCC

set(CMAKE_AUTOUIC ON) 

およびVisual Studio(2015)プロジェクトを生成し、それがuiファイルからソースを生成する前ビルドステップを有し、かつそれらに生成されたファイルを追加しますVSプロジェクト。しかし、場合、私は設定し、その後qrcプロジェクトソース内のファイルなどがあります:

set(CMAKE_AUTORCC ON) 

生成されたプロジェクトは、もはやビルド前の段階があります。対応するqrc.cppファイルが含まれています。ただし、プロジェクトがビルドされると、ファイルが存在しないために失敗し、生成されません。また、CMAKE_AUTORCCOFFに設定し、QT5_ADD_RESOURCESを使用してみました。これで、プレインストールステップuiは削除されませんが、qrc.cppはプロジェクトに追加されません。

私はQt 5.6.0とcmake 3.5.2を使用しています。

+0

あなたの説明から、ビルドステップが実行されていないことがわかります:uicまたはrcc。意味のある回答を得るために[MCVE](http://stackoverflow.com/help/mcve)を提供してください。 – Drop

+0

rccは決して私が記述した方法を使って実行しません。 'CMAKE_AUTORCC OFF'を使うと、uicが実行されます。 'CMAKE_AUTORCC ON'を使うと、uicは実行されません。 – MuertoExcobito

+0

"set(CMAKE_INCLUDE_CURRENT_DIR ON)"をセットアップしましたか?あなたのファイルは現在のディレクトリに生成されるべきです – PnotNP

答えて

2

私はそれがほぼ4ヶ月間であったことを認識していますが、私は今まさに同じ問題に直面し、あなたの質問を読んでいます。アイコン/ qrcリソースシステム上のQt docを見て、私は実用的な解決策を持っています。あなたはそれを推測ところ、

addlibrary (${myDLL} SHARED ${mySRC_LIST} ${myQRC_LIST}) 

:あなたのexeファイル/ DLLを追加するときに、これを行うその後

set (CMAKE_AUTOMOC ON) 
set (CMAKE_AUTOUIC ON) 
set (CMAKE_AUTORCC ON) 

:以前に最初の二つを持っていた - 私は、同じCMakeLists.txtファイル内のすべての3つの設定を持っていますファイルの新しいリスト${myQRC_LIST}には、.qrcファイルのリストが含まれています。 Voilà!私の最初の試みは非常に珍しいこの結果を持っていた!もちろん

File menu and toolbar

私も${mySRC_LIST}に私.qrcファイルを組み合わせることができたが、私は、均質な私のリストを維持したいです。何をするにしても、Qt Resource Docを読んで、アイコンが正しく組み込まれるようにしてください。お役に立てれば。

関連する問題