关于QT编译报错的问题,哪位大神有种子遇到过类似的问题么,卡了我两天了。

Qt5的时候出现了一个问题,看出来是Qt5M的,有遇到过得么?下面是截图:我的环境是win7+vs2012
--------------------------------------
求帮助一下!谢~
--------------------------------------
.pro文件有没有加QT += network找找有没有Qt5Network.dll
--------------------------------------
引用 2 楼 q245879 的回复:.pro文件有没有加QT += network找找有没有Qt5Network.dll有找到,.pro文件是哪个?
--------------------------------------
使用nmake而不是jom试试呢
--------------------------------------
引用 2 楼 q245879 的回复:.pro文件有没有加QT += network找找有没有Qt5Network.dllqtbase.pro?
--------------------------------------
引用 4 楼 dbzhang800 的回复:使用nmake而不是jom试试呢我虽然+了-mp,但是用nmake会不会慢很多?
--------------------------------------
引用 3 楼 u 的回复:Quote: 引用 2 楼 q245879 的回复:.pro文件有没有加QT += network找找有没有Qt5Network.dll有找到,.pro文件是哪个?你的工程目录下会有一个.pro文件你打开把QT += network加进去看看
--------------------------------------
引用 5 楼 u 的回复:Quote: 引用 2 楼 q245879 的回复:.pro文件有没有加QT += network找找有没有Qt5Network.dllqtbase.pro?一般是
"名字.pro"
--------------------------------------
引用 8 楼 q245879 的回复:Quote: 引用 5 楼 u 的回复:Quote: 引用 2 楼 q245879 的回复:.pro文件有没有加QT += network找找有没有Qt5Network.dllqtbase.pro?一般是
"文件夹名字.pro"里边的内容是这样的,貌似不能这样加吧?###################################################################### Main projectfile#####################################################################load(qt_parts)cross_compile: CONFIG += nostripconfclean.depends += cleanconfclean.s =unix {
mands += (cd config.tests/unix/stl && $(MAKE) distclean); \
(cd config.tests/unix/ptrsize && $(MAKE) distclean); \
(cd config.tests/x11/notype && $(MAKE) distclean); \
(cd config.tests/unix/getaddrinfo && $(MAKE) distclean); \
(cd config.tests/unix/cups && $(MAKE) distclean); \
(cd config.tests/unix/psql && $(MAKE) distclean); \
(cd config.tests/unix/ && $(MAKE) distclean); \
(cd config.tests/unix/_r && $(MAKE) distclean); \
(cd config.tests/unix/nis && $(MAKE) distclean); \
(cd config.tests/unix/iodbc && $(MAKE) distclean); \
(cd config.tests/unix/odbc && $(MAKE) distclean); \
(cd config.tests/unix/oci && $(MAKE) distclean); \
(cd config.tests/unix/tds && $(MAKE) distclean); \
(cd config.tests/unix/db2 && $(MAKE) distclean); \
(cd config.tests/unix/ibase && $(MAKE) distclean); \
(cd config.tests/unix/ipv6ifname && $(MAKE) distclean); \
(cd config.tests/unix/zlib && $(MAKE) distclean); \
(cd config.tests/unix/sqlite2 && $(MAKE) distclean); \
(cd config.tests/unix/libjpeg && $(MAKE) distclean); \
(cd config.tests/unix/libpng && $(MAKE) distclean); \
(cd config.tests/unix/slog2 && $(MAKE) distclean); \
(cd config.tests/x11/xcursor && $(MAKE) distclean); \
(cd config.tests/x11/xrender && $(MAKE) distclean); \
(cd config.tests/x11/xrandr && $(MAKE) distclean); \
(cd config.tests/x11/xkb && $(MAKE) distclean); \
(cd config.tests/x11/xinput && $(MAKE) distclean); \
(cd config.tests/x11/fontconfig && $(MAKE) distclean); \
(cd config.tests/x11/xinerama && $(MAKE) distclean); \
(cd config.tests/x11/xshape && $(MAKE) distclean); \
(cd config.tests/x11/opengl && $(MAKE) distclean); \
$(DEL_FILE) config.tests/.qmake. \
$(DEL_FILE) src/corelib/global/qconfig.h; \
$(DEL_FILE) src/corelib/global/qconfig. \
$(DEL_FILE) mkspecs/qconfig. \
$(DEL_FILE) mkspecs/qdevice. \
$(DEL_FILE) mkspecs/qmodule. \
$(DEL_FILE) .qmake. \
(cd qmake && $(MAKE) distclean);}win32 {
mands += -$(DEL_FILE) src\\corelib\\global\\qconfig.h $$escape_expand(\\n\\t) \
-$(DEL_FILE) src\\corelib\\global\\qconfig.cpp $$escape_expand(\\n\\t) \
-$(DEL_FILE) mkspecs\\qconfig.pri $$escape_expand(\\n\\t) \
-$(DEL_FILE) mkspecs\\qdevice.pri $$escape_expand(\\n\\t) \
-$(DEL_FILE) mkspecs\\qmodule.pri $$escape_expand(\\n\\t) \
-$(DEL_FILE) .qmake.cache $$escape_expand(\\n\\t) \
(cd qmake && $(MAKE) distclean)}QMAKE_EXTRA_TARGETS += mands += (cd qmake && $(MAKE) clean)QMAKE_EXTRA_TARGETS += qmakecleanCLEAN_DEPS += qmakecleanCONFIG -= qt### installations #####qmakeqmake.path = $$[QT_HOST_BINS]equals(QMAKE_HOST.os, ) {
qmake.files = $$OUT_PWD//qmake.exe} else {
qmake.files = $$OUT_PWD//qmake}INSTALLS += qmake#syncqtsyncqt.path = $$[QT_HOST_BINS]syncqt.files = $$PWD/bin/syncqt.plINSTALLS += syncqt# If we are doing a prefix build, create a "module" pri which enables# qtPrepareTool() to find the non-installed syncqt.prefix_build|!equals(PWD, $$OUT_PWD) {
cmd = perl -w $$_path($$PWD/bin/syncqt.pl)
TOOL_PRI = $$OUT_PWD/mkspecs/modules/qt_tool_syncqt.pri
TOOL_PRI_CONT = "QT_mand = $$val_escape(cmd)"
write_file($$TOOL_PRI, TOOL_PRI_CONT)|error("Aborting.")
# Then, inject the new tool into the current cache state
!contains(QMAKE_INTERNAL_INCLUDED_FILES, $$TOOL_PRI) { # bee the actual include()!
added = $$TOOL_PRI
cache(QMAKE_INTERNAL_INCLUDED_FILES, add transient, added)
include($$TOOL_PRI)
cache(QT_mand, transient)}#mkspecsmkspecs.path = $$[QT_HOST_DATA]/mkspecsmkspecs.files = \
$$OUT_PWD/mkspecs/qconfig.pri $$OUT_PWD/mkspecs/qmodule.pri $$OUT_PWD/mkspecs/qdevice.pri \
$$files($$PWD/mkspecs/*)
# $$OUT_PWD contains>
--------------------------------------
引用 6 楼 u 的回复:Quote: 引用 4 楼 dbzhang800 的回复:使用nmake而不是jom试试呢我虽然+了-mp,但是用nmake会不会慢很多?不至于慢太多
--------------------------------------
引用 9 楼 u 的回复:Quote: 引用 8 楼 q245879 的回复:Quote: 引用 5 楼 u 的回复:Quote: 引用 2 楼 q245879 的回复:.pro文件有没有加QT += network找找有没有Qt5Network.dllqtbase.pro?一般是
"文件夹名字.pro"里边的内容是这样的,貌似不能这样加吧?###################################################################### Main projectfile#####################################################################load(qt_parts)cross_compile: CONFIG += nostripconfclean.depends += mands =unix {
mands += (cd config.tests/unix/stl && $(MAKE) distclean); \
(cd config.tests/unix/ptrsize && $(MAKE) distclean); \
(cd config.tests/x11/notype && $(MAKE) distclean); \
(cd config.tests/unix/getaddrinfo && $(MAKE) distclean); \
(cd config.tests/unix/cups && $(MAKE) distclean); \
(cd config.tests/unix/psql && $(MAKE) distclean); \
(cd config.tests/unix/mysql && $(MAKE) distclean); \
(cd config.tests/unix/mysql_r && $(MAKE) distclean); \
(cd config.tests/unix/nis && $(MAKE) distclean); \
(cd config.tests/unix/iodbc && $(MAKE) distclean); \
(cd config.tests/unix/odbc && $(MAKE) distclean); \
(cd config.tests/unix/oci && $(MAKE) distclean); \
(cd config.tests/unix/tds && $(MAKE) distclean); \
(cd config.tests/unix/db2 && $(MAKE) distclean); \
(cd config.tests/unix/ibase && $(MAKE) distclean); \
(cd config.tests/unix/ipv6ifname && $(MAKE) distclean); \
(cd config.tests/unix/zlib && $(MAKE) distclean); \
(cd config.tests/unix/sqlite2 && $(MAKE) distclean); \
(cd config.tests/unix/libjpeg && $(MAKE) distclean); \
(cd config.tests/unix/libpng && $(MAKE) distclean); \
(cd config.tests/unix/slog2 && $(MAKE) distclean); \
(cd config.tests/x11/xcursor && $(MAKE) distclean); \
(cd config.tests/x11/xrender && $(MAKE) distclean); \
(cd config.tests/x11/xrandr && $(MAKE) distclean); \
(cd config.tests/x11/xkb && $(MAKE) distclean); \
(cd config.tests/x11/xinput && $(MAKE) distclean); \
(cd config.tests/x11/fontconfig && $(MAKE) distclean); \
(cd config.tests/x11/xinerama && $(MAKE) distclean); \
(cd config.tests/x11/xshape && $(MAKE) distclean); \
(cd config.tests/x11/opengl && $(MAKE) distclean); \
$(DEL_FILE) config.tests/.qmake. \
$(DEL_FILE) src/corelib/global/qconfig.h; \
$(DEL_FILE) src/corelib/global/qconfig. \
$(DEL_FILE) mkspecs/qconfig. \
$(DEL_FILE) mkspecs/qdevice. \
$(DEL_FILE) mkspecs/qmodule. \
$(DEL_FILE) .qmake. \
(cd qmake && $(MAKE) distclean);}win32 {
mands += -$(DEL_FILE) src\\corelib\\global\\qconfig.h $$escape_expand(\\n\\t) \
-$(DEL_FILE) src\\corelib\\global\\qconfig.cpp $$escape_expand(\\n\\t) \
-$(DEL_FILE) mkspecs\\qconfig.pri $$escape_expand(\\n\\t) \
-$(DEL_FILE) mkspecs\\qdevice.pri $$escape_expand(\\n\\t) \
-$(DEL_FILE) mkspecs\\qmodule.pri $$escape_expand(\\n\\t) \
-$(DEL_FILE) .qmake.cache $$escape_expand(\\n\\t) \
(cd qmake && $(MAKE) distclean)}QMAKE_EXTRA_TARGETS += mands += (cd qmake && $(MAKE) clean)QMAKE_EXTRA_TARGETS += qmakecleanCLEAN_DEPS += qmakecleanCONFIG -= qt### installations #####qmakeqmake.path = $$[QT_HOST_BINS]equals(QMAKE_HOST.os, Windows) {
qmake.files = $$OUT_PWD/bin/qmake.exe} else {
qmake.files = $$OUT_PWD/bin/qmake}INSTALLS += qmake#syncqtsyncqt.path = $$[QT_HOST_BINS]syncqt.files = $$PWD/bin/syncqt.plINSTALLS += syncqt# If we are doing a prefix build, create a "module" pri which enables# qtPrepareTool() to find the non-installed syncqt.prefix_build|!equals(PWD, $$OUT_PWD) {
cmd = perl -w $$shell_path($$PWD/bin/syncqt.pl)
TOOL_PRI = $$OUT_PWD/mkspecs/modules/qt_tool_syncqt.pri
TOOL_PRI_CONT = "QT_mand = $$val_escape(cmd)"
write_file($$TOOL_PRI, TOOL_PRI_CONT)|error("Aborting.")
# Then, inject the new tool into the current cache state
!contains(QMAKE_INTERNAL_INCLUDED_FILES, $$TOOL_PRI) { # before the actual include()!
added = $$TOOL_PRI
cache(QMAKE_INTERNAL_INCLUDED_FILES, add transient, added)
include($$TOOL_PRI)
cache(QT_mand, transient)}#mkspecsmkspecs.path = $$[QT_HOST_DATA]/mkspecsmkspecs.files = \
$$OUT_PWD/mkspecs/qconfig.pri $$OUT_PWD/mkspecs/qmodule.pri $$OUT_PWD/mkspecs/qdevice.pri \
$$files($$PWD/mkspecs/*)
# $$OUT_PWD contains>
--------------------------------------
不是Windows、的问题,楼主是在编译Qt,你提到的是在使用Qt
--------------------------------------
引用 8 楼 q245879 的回复:Quote: 引用 5 楼 u 的回复:Quote: 引用 2 楼 q245879 的回复:.pro文件有没有加QT += network找找有没有Qt5Network.dllqtbase.pro?一般是
"文件夹名字.pro"这不应该差不多的么?除了能够configure图形化之外?
--------------------------------------
引用 13 楼 u 的回复:Quote: 引用 8 楼 q245879 的回复:Quote: 引用 5 楼 u 的回复:Quote: 引用 2 楼 q245879 的回复:.pro文件有没有加QT += network找找有没有Qt5Network.dllqtbase.pro?一般是
"文件夹名字.pro"这不应该差不多的么?除了能够configure图形化配置之外?看pro文件好像有点差别
--------------------------------------
引用 12 楼 dbzhang800 的回复:不是Windows、linux的问题,楼主是在编译Qt,你提到的是在使用Qt我换成了nmake cpu达到100%的频率低了很多。。应该慢不少。。能让那个NetWork模块正确就行。。
--------------------------------------
引用 15 楼 u 的回复:Quote: 引用 12 楼 dbzhang800 的回复:不是Windows、linux的问题,楼主是在编译Qt,你提到的是在使用Qt我换成了nmake cpu达到100%的频率低了很多。。应该慢不少。。能让那个NetWork模块正确就行。。开玩笑了,错误变成了这个。。
--------------------------------------
configure时可以添加 -opengl desktop不然的话,你使用的是angle,需要安装相应的DirectX SDK
--------------------------------------
引用 17 楼 dbzhang800 的回复:configure时可以添加 -opengl desktop不然的话,你使用的是angle,需要安装相应的DirectX SDK这是我的test.bat,我已经加上了那个了%QT5_DIR%\configure -prefix e:\qt5\msvc2012 -mp -opensource -confirm-license -platform win32-msvc2012 -debug-and-release -c++11 -icu -openssl -opengl desktop -nomake demos -nomake examples -nomake tests -nomake webkit
-plugin-sql-odbc
--------------------------------------
引用 17 楼 dbzhang800 的回复:configure时可以添加 -opengl desktop不然的话,你使用的是angle,需要安装相应的DirectX SDK我发现一个更奇怪的问题,我明明使用的是pc版的opengl,怎么搞去找opengles??
--------------------------------------
在执行configure之前,你的是干净的么,有没有清楚上一次的中间产物?
--------------------------------------
另外,你需要确保你系统的opengl版本高于 2.1如果你没有装相应的显卡驱动,Windows 7默认的版本应该是1.1
--------------------------------------
引用 21 楼 dbzhang800 的回复:另外,你需要确保你系统的opengl版本高于 2.1如果你没有装相应的显卡驱动,Windows 7默认的版本应该是1.1为什么还和驱动有关系?
--------------------------------------
引用 21 楼 dbzhang800 的回复:另外,你需要确保你系统的opengl版本高于 2.1如果你没有装相应的显卡驱动,Windows 7默认的版本应该是1.1我不清楚版本是多少,我在csdn下了一个vs2012编译的glu opengl,2.1在哪里下载?不过我这系统就是bug,替换不了32里边的opengl32.dll
--------------------------------------
神啊!我跪了!
--------------------------------------
1. 就Qt5.1 和 MSVC2012来说,完全不用自己编译,官方有预编译包提供 http://download.qt-project.org/snapshots/qt/5.1/5.1.0-rc1/backups/-55/2. OpenGL的实现是由 显卡驱动来实现的,你用的Win7,那么显卡肯定不会太老,只要装有显卡驱动厂商提供的驱动,opengl 版本应该就大于 2.1
--------------------------------------
引用 19 楼 u 的回复:Quote: 引用 17 楼 dbzhang800 的回复:configure时可以添加 -opengl desktop不然的话,你使用的是angle,需要安装相应的DirectX SDK我发现一个更奇怪的问题,我明明使用的是pc版的opengl,怎么搞去找opengles??qt里面的opengles用的是angle,也就是dx,这个问题你要在-opengl desktop的后面加上-no-angle这个就不会去找es了
--------------------------------------
引用 25 楼 dbzhang800 的回复:1. 就Qt5.1 和 MSVC2012来说,完全不用自己编译,官方有预编译包提供 http://download.qt-project.org/snapshots/qt/5.1/5.1.0-rc1/backups/-55/2. OpenGL的实现是由 显卡驱动来实现的,你用的Win7,那么显卡肯定不会太老,只要装有显卡驱动厂商提供的驱动,opengl 版本应该就大于 2.1我需要自己调试里边的一个webkit的demo啊!而且我最终是要在vs2012中打开这个demo的!咋整啊QT5.1编译后的安装目录问题 - QTCN开发网 - Powered by phpwind
查看完整版本: [--
QT5.1编译后的安装目录问题
这个是我的编译参数:configure -ltcg -confirm-license -opensource -platform win32-msvc2010 -debug-and-release -prefix &D:\QT\5.1.0_vc2010_x64& -qt-sql-sqlite -qt-sql-odbc -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -no-angle -nomake tests -nomake examples -nomake demos -mp -openssl-linked OPENSSL_LIBS=&-lssleay32 -llibeay32&nmake编译过程是一路顺利,没有发生过错误提示,然后是nmake install也顺利完成,用VSAddin导入VS2010中也能顺利编译QT程序唯一奇怪的就是 -prefix &D:\QT\5.1.0_vc2010_x64& 定义的安装目录,完全不能改,无论是修改5.1.0_vc2010_x64的目录名或者将5.1.0_vc2010_x64移到其他目录,这个编译的版本就不能工作了,连bin下的QT几个自编译的软件也打不开,而一旦恢复D:\QT\5.1.0_vc2010_x64的目录结构就一切都恢复了正常有哪位遇到过类似的情况吗?难道QT还有目录依赖症?这样我在其他机器上怎么配置啊??
需要在qmake.exe同一文件夹下,创建一个qt.conf文件(ANSI格式)内容为[paths]Prefix = ..
多谢了,已经搞定了,感觉QT这点做的很坑爹啊奇怪的是官方的安装版我没发现qt.conf为啥可以设置任意的安装位置?还有就是qt.conf里必须是linux下斜杠才行,这玩意也折腾了我好久。。。。。
安装官方的Qt,qmake.exe,是在安装的过程中生成的,不是原来就在安装包中的。所以,用Notepad++你打开那个qmake.exe,搜qt_prfxpath,是可以看到里面是有你的安装路径的。
嗯,这个懒得纠结了,解决了就行不过你编译的那个vs静态库我很好奇用了icu库没有?我编译的跟你的体积差了不是一点点,而且qt5core.lib里总是不能正确链接icu的库函数从你的qt5core.lib的导出函数中没有类似u_strToLower_51的icu库函数,我想应该你编译的是不含icu的静态库把?顺便说一句,你编译的这个库参数有点问题,静态库编译数据库的时候最好不要用插件形式,你可以检查你那个assistant.exe就报错无法运行
我静态编译的,都不含icu以前静态编译时,不带插件参数,静态编译带数据库的程序,不能用。带了插件就可以。所以,后来,我编译,一直就把-qt-sql-sqlite -qt-sql-odbc -plugin-sql-sqlite -plugin-sql-odbc都放上了。不知道是某个版本的问题,还是需要这样。后来没有试去掉plugin是什么效果。
查看完整版本: [--
Powered by
Gzip disabled用的Qt&creator。新建一个Dialog,仅仅在dialog.h里添加了private&slots:&void&buttonClicked();编译就出错
D:\MyProjects\Qt\dialog\slot\solt-build-Desktop_Qt_5_0_0_MSVC2010_32bit_SDK-Debug\debug\moc_dialog.obj:-1:&错误:LNK2019:&无法解析的外部符号&&private:&void&__thiscall&Dialog::enableFindButton(class&QString&const&&)&&(?enableFindButton@Dialog@@AAEXABVQString@@@Z),该符号在函数&&private:&static&void&__cdecl&Dialog::qt_static_metacall(class&QObject&*,enum&QMetaObject::Call,int,void&*&*)&&(?qt_static_metacall@Dialog@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z)&中被引用
未找到文件&moc_dialog.obj。
要是定义signals就没有报错,定义slots就有错
百度了很多方法,qmake、删obj什么的都没用。
回复讨论(解决方案)
你定义了的slot实现了没?
你定义了的slot实现了没?
没有实现。
引用&1&楼&freebendy&的回复:你定义了的slot实现了没?
没有实现。
你没有实现的意图是什么?&qt的moc编译器会生成一些类扩展c++的功能,你没有实现slot出现这种连接错误很正常,另外signals是一个空的宏,你声明它而不实现肯定是没有问题的。
引用&2&楼&clxkxzx&的回复:引用&1&楼&freebendy&的回复:你定义了的slot实现了没?
没有实现。
你没有实现的意图是什么?&qt的moc编译器会生成一些类扩展c++的功能,你没有实现slot出现这种连接错误很正常,另外signals是一个空的宏,你声明它而不实现肯定是没有问题的。
哦。。是这样啊,谢啦~欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 618 人关注过本帖
标题:求大神帮忙
关于socketio的编译问题
等 级:新手上路
&&问题点数:0&&回复次数:0&&&
求大神帮忙
关于socketio的编译问题
从:/KurtPattyn/QtSocketIo下载了:QtSocketIo
用QT Creator 5.4.2进行构建QtSocketIo的dll成功生成 Qt5SocketIo.dll,但是他的示例代码无法成功构建(怀疑是不是引用dll路径不对造成)。
所以我就按照其示例代码创建了一个一样的工程,但是在构建的时候异常提示:
E:\QtTestCreater\build-QtSocketClient-Desktop_Qt_5_4_2_MSVC2013_32bit-Release\release\moc_qsocketioclient.cpp:169: error: C2491: “QSocketIoClient::staticMetaObject”: 不允许 dllimport 静态数据成员 的定义
哪位大神有在QT 5.4.2环境下成功编译运行过QtSocketIo的,能不能指点一下啊...
或者给个可以用的demo啊...
搜索更多相关主题的帖子:
版权所有,并保留所有权利。
Powered by , Processed in 0.037278 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved}

我要回帖

更多关于 哪位大神知道此女名字 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信