标题:QT5.1编译后的安装目录问题
作者:天下无雪
日期:2013-08-04 20:42
内容:
这个是我的编译参数:
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还有目录依赖症?这样我在其他机器上怎么配置啊??
#1 [realfan 08-05 09:29]
需要在qmake.exe同一文件夹下,创建一个qt.conf文件(ANSI格式)
内容为
Prefix = ..
#2 回 1楼(realfan) 的帖子 [天下无雪 08-05 12:07]
多谢了,已经搞定了,感觉QT这点做的很坑爹啊
奇怪的是官方的安装版我没发现qt.conf为啥可以设置任意的安装位置?
还有就是qt.conf里必须是linux下斜杠才行,这玩意也折腾了我好久。。。。。
#3 回 2楼(天下无雪) 的帖子 [realfan 08-05 13:22]
安装官方的Qt,qmake.exe,是在安装的过程中生成的,不是原来就在安装包中的。
所以,用Notepad++你打开那个qmake.exe,搜qt_prfxpath,是可以看到里面是有你的安装路径的。
#4 回 3楼(realfan) 的帖子 [天下无雪 08-05 23:43]
嗯,这个懒得纠结了,解决了就行
不过你编译的那个vs2012的5.1静态库我很好奇用了icu库没有?我编译的跟你的体积差了不是一点点,而且qt5core.lib里总是不能正确链接icu的库函数
从你的qt5core.lib的导出函数中没有类似u_strToLower_51的icu库函数,我想应该你编译的是不含icu的静态库把?
顺便说一句,你编译的这个库参数有点问题,静态库编译数据库的时候最好不要用插件形式,你可以检查你那个assistant.exe就报错无法运行
#5 回 4楼(天下无雪) 的帖子 [realfan 08-06 08:46]
我静态编译的,都不含icu
以前静态编译时,不带插件参数,静态编译带数据库的程序,不能用。带了插件就可以。所以,后来,我编译,一直就把
-qt-sql-sqlite -qt-sql-odbc -plugin-sql-sqlite -plugin-sql-odbc都放上了。
不知道是某个版本的问题,还是需要这样。后来没有试去掉plugin是什么效果。