• 4642阅读
  • 7回复

添加图标时遇到工程不能打开的问题[已解決] [复制链接]

上一主题 下一主题
离线bluebeer1982
 
只看楼主 倒序阅读 楼主  发表于: 2010-01-26
我用的是Microsoft Visual Studio.net 2003编译器,在添加图标时,在QT的Designer中生成的.qrc文件,将图标也都加到Form中了,具体如下图所示:,但是在工程.vcproj.中添加RESOURCES += myqrc.qrc时,就不能在打开工程了,而且在main函数中Q_INIT_RESOURCE(myqrc);时,也不编译不过去,会出现error LNK2019: 无法解析的外部符号 "int __cdecl qInitResources_myqrc(void)" (?qInitResources_myqrc@@YAHXZ) ,该符号在函数 _main 中被引用的错误,请高手帮我解答一下吧,刚接触QT,有很多地方不太明白。
[ 此帖被午小夜在2010-01-27 11:20重新编辑 ]
离线yangfanxing
只看该作者 1楼 发表于: 2010-01-26
.vcproj?

贴图错误。
PHPWind好恶心。。。不想看这种界面。。。
离线bluebeer1982
只看该作者 2楼 发表于: 2010-01-26
恩,.net文件生成的工程是.vcproj格式的,用写字板打开工程文件修改后,就打不开工程了,图片我不知道怎么贴上啊,就是几个QToolButton,每个QToolButton上各自都已经放置好了各自的图标。在QT的Designer上已经能看到图标放置好了,但是编程运行不了,其实我是需要用编程实现放置图标的。
离线dbzhang800

只看该作者 3楼 发表于: 2010-01-26
对 vcproj 文件不了解,
不过你的
RESOURCES += myqrc.qrc
应该是添加到 Qt 工程文件( pro )内的

如果你要手动做的话,
像 .ui比如由 uic 处理一样,
.qrc 必须由 rcc进行处理生成 .cpp文件才能被编译器识别。
离线bluebeer1982
只看该作者 4楼 发表于: 2010-01-27
我先大体知道是怎么回事了,但是不知道为什么,在main函数中加入Q_INIT_RESOURCE(filename)后总会出现error LNK2019: 无法解析的外部符号 "int __cdecl qInitResources_myqrc(void)" (?qInitResources_myqrc@@YAHXZ) ,该符号在函数 _main 中被引用的错误,哪位能帮我解答一下吗?
离线yangfanxing
只看该作者 5楼 发表于: 2010-01-27
不妨检查下qrc描述和文件结构是否相符~
filename正确性?
*.pro
RESOURCES += myqrc.qrc
PHPWind好恶心。。。不想看这种界面。。。
离线dbzhang800

只看该作者 6楼 发表于: 2010-01-27
引用第4楼bluebeer1982于2010-01-27 10:06发表的  :
我先大体知道是怎么回事了,但是不知道为什么,在main函数中加入Q_INIT_RESOURCE(filename)后总会出现error LNK2019: 无法解析的外部符号 "int __cdecl qInitResources_myqrc(void)" (?qInitResources_myqrc@@YAHXZ) ,该符号在函数 _main 中被引用的错误,哪位能帮我解答一下吗?


我前面说了, .qrc文件必须经过rcc处理生成相应的 .cpp文件才能被编译器识别。
而你 这儿 就是因为链接时找不到 该 cpp内的函数(估计你连该.cpp文件都没生成)


题外,为什么不用Qt的 pro工程呢?
离线bluebeer1982
只看该作者 7楼 发表于: 2010-01-27
恩,搞定了,谢谢大家的帮助,检查了一下,确实是我的.qrc文件错误。
快速回复
限100 字节
 
上一个 下一个