我想在Visual 2010中用Qt编译一个项目。我已经构建了所有的先决条件库,并将它们链接到项目属性中。
我还使用以下命令从.cpp文件(rcc)创建了project.qrc文件:
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做错什么了吗?有人能帮忙吗?
发布于 2016-12-19 09:29:25
我通过生成一个.rcc文件和一个.cpp文件()来解决我的问题,这两个文件的名称都是项目,而不是开头的"qrc_“。我还链接了我的项目的两个文件。
编译器似乎找不到正确的文件,这就是为什么我有链接错误。
我用于生成上述文件的命令如下:
rcc -binary <path_to_qrc_file>.qrc -o <path_and_filename>.rccrcc <path_to_qrc_file>.qrc -name <project_name> -o <path_and_filename>.cpp发布于 2021-01-13 02:52:15
对于使用CMake的人
您应该启用AUTORCC自动编译*.qrc文件。
add_executable(project project.cpp project.qrc)
// enable autorcc and automoc
set_target_properties(project PROPERTIES AUTOMOC TRUE)
set_target_properties(project PROPERTIES AUTORCC TRUE)发布于 2017-12-15 06:32:57
我已经找到了一个非常琐碎的解决办法,如果没有对您有效的话:
在VS中,您可以简单地将资源(图像或图标)不放在库qrc文件中,而是直接放在主项目qrc文件中。然后,在库项目中,您可以使用主项目中的路径引用映像,甚至不需要调用QT_INIT_RESOURCE。
我认为这不是一个好的做法,但只要记录下来,谁尝试了所有的解决方案在网上,但仍然不起作用。
https://stackoverflow.com/questions/41185978
复制相似问题