我想在 Visual Studio 2010 中使用 Qt 编译一个项目。 我已经构建了所有必备库并将它们链接到项目属性中。
我还使用以下命令从 project.qrc 文件 (rcc) 生成了 .cpp 文件:
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 文件。 虽然,我收到以下错误:
> Error 2611 error LNK2019: unresolved external symbol "int __cdecl
> qInitResources_project(void)" (?qInitResources_project@@YAHXZ)
> referenced in function main D:\usr\Windows\main.obj project
我是不是对 rcc 做错了什么?有人可以帮忙吗?
最佳答案
我通过生成一个 .rcc 文件和一个 .cpp 文件解决了我的问题,都带有项目的名称,而不是开头的“qrc_”。我还在我的项目中链接了这两个文件。
编译器似乎找不到正确的文件,这就是我出现链接错误的原因。
我用来生成上述文件的命令是:
rcc -binary <path_to_qrc_file>.qrc -o <path_and_filename>.rcc
rcc <path_to_qrc_file>.qrc -name <project_name> -o <path_and_filename>.cpp
关于c++ - qInitResources() 上的 Qt 链接器错误 LNK2019 - RCC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41185978/