2016-12-16 12 views
0

Visual Studio 2010でQtを使用してプロジェクトをコンパイルしたいとします。 すべての前提条件ライブラリをビルドし、それらをプロジェクトプロパティにリンクしました。私は以下のコマンドでproject.qrcファイル(RCC)から.cppファイルも作られているqInitResources()のエラーLNK2019 - RCC

rcc project.qrc -name project -o qrc_project.cpp 

http://www.qtcentre.org/archive/index.php/t-3425.htmlからの指示に従いました。

project.cooファイルは、次の行で生成されます

int QT_MANGLE_NAMESPACE(qInitResources_project)() 
{ 
    QT_PREPEND_NAMESPACE(qRegisterResourceData) 
     (0x01, qt_resource_struct, qt_resource_name, qt_resource_data); 
    return 1; 
} 

Q_CONSTRUCTOR_FUNCTION(QT_MANGLE_NAMESPACE(qInitResources_project)) 

は、私はまた、プロジェクトに.cppファイルが含まれています。 私は下のエラーを取得し、けれども:

エラー2611エラーLNK2019:未解決の外部シンボル "int型__cdecl qInitResources_project(無効)"(qInitResources_project @@ YAHXZ?)機能メインDで参照 :\ USR \ Windowsの\ main.obj project

私はrccに何か問題がありましたか?誰も助けてくれませんか?

+0

'qrc_project.cpp'はプロジェクトの一部ですか?コンパイルされていない可能性があります。 – drescherjm

+0

@drescherjmはい、私は自分のプロジェクトにそれを含めました。それを別にコンパイルすべきですか? –

答えて

0

問題の解決には、.rccファイルと.cppファイルをプロジェクトの名前で作成し、その先頭に "qrc_"は付けないでください。私はまた、私のプロジェクトで両方のファイルをリンクしました。

コンパイラが適切なファイルを見つけられなかったようです。このため、リンクエラーが発生しました。

私は上記のファイルを生成するために使用されるコマンドは以下のとおりです。私は本当に些細な回避策は何もないかのように

  1. rcc -binary <path_to_qrc_file>.qrc -o <path_and_filename>.rcc

  2. rcc <path_to_qrc_file>.qrc -name <project_name> -o <path_and_filename>.cpp

+0

こんにちは、VSでそれを変更する方法を教えていただけますか?私は同じ問題に会った... THX! – alanwsx

+0

私は2番目のステップを意味します:「私はプロジェクトに両方のファイルもリンクしています」 – alanwsx

0

を発見しましたあなたのために働きます:

VSでは、リソース(イメージまたはアイコン)をライブラリのqrcファイルではなく、メインのプロジェクトqrcファイルに直接入れることができます。次に、ライブラリプロジェクトでは、メインプロジェクトのパスを使用してイメージを参照することができ、QT_INIT_RESOURCEを呼び出す必要はありません。

これは良い習慣ではないと思いますが、すべてのソリューションをオンラインで試しても動作していない人には注意してください。

関連する問題