当依赖的静态库项目中有main.cpp和GUI类时,导入Qt资源,

当依赖的静态库项目中有main.cpp和GUI类时,导入Qt资源,,qt,visual-studio-2005,linker,Qt,Visual Studio 2005,Linker,场景: 我安装了MSVC2005和Qt Visual Studio插件。在我的解决方案中,有一个项目“强> a < /强>由多个纯C++代码模块组成,它是建立在可执行代码< A.exe > /Cuff>上的。项目A不包含带有main()的.cpp文件,但依赖于项目B B是作为静态库构建的Qt项目。它由多个GUI类组成,一个典型的Qt main.cpp()。编译链接A和B非常有效,我有一个Qt应用程序。我制作了一些A(Afork1,Afork2,等等)的分叉,它们与GUI共享相同的界面,但对底层业

场景:

我安装了MSVC2005和Qt Visual Studio插件。在我的解决方案中,有一个项目“强> a < /强>由多个纯C++代码模块组成,它是建立在可执行代码< A.exe > /Cuff>上的。项目A不包含带有
main()
.cpp
文件,但依赖于项目B

B是作为静态库构建的Qt项目。它由多个GUI类组成,一个典型的Qt main.cpp()。编译链接AB非常有效,我有一个Qt应用程序。我制作了一些AAfork1Afork2,等等)的分叉,它们与GUI共享相同的界面,但对底层业务逻辑有不同的定制。我可以批量构建
A.exe
Afork1.exe
,…,等等,它们都有相同的GUI,非常整洁

问题:


B中,有一个
.qrc
文件,其中包含GUI中使用的多个图像、图标等。GUI类是使用Qt Designer构建的,我将资源添加到GUI小部件中。构建并运行
A.exe
后,我看不到这些图标和图像,小部件中保留了这些图标和图像的空间,但没有填充内容。我想,resources没有链接到可执行文件中。有没有办法确保链接Qt静态库项目中的资源?

您需要显式初始化资源。从:

如果你有静态的资源 图书馆,你可能需要强制 通过初始化您的资源 使用 .qrc文件的基本名称。对于 例如:

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    Q_INIT_RESOURCE(graphlib);
    ...
    return app.exec();
}