• 8509阅读
  • 5回复

[提问]QT5.1编译后的安装目录问题 [复制链接]

上一主题 下一主题
离线天下无雪
 

只看楼主 倒序阅读 楼主  发表于: 2013-08-04
这个是我的编译参数:
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还有目录依赖症?这样我在其他机器上怎么配置啊??

离线realfan

只看该作者 1楼 发表于: 2013-08-05
需要在qmake.exe同一文件夹下,创建一个qt.conf文件(ANSI格式)
内容为
[paths]
Prefix = ..

离线天下无雪

只看该作者 2楼 发表于: 2013-08-05
回 1楼(realfan) 的帖子
多谢了,已经搞定了,感觉QT这点做的很坑爹啊
奇怪的是官方的安装版我没发现qt.conf为啥可以设置任意的安装位置?
还有就是qt.conf里必须是linux下斜杠才行,这玩意也折腾了我好久。。。。。

离线realfan

只看该作者 3楼 发表于: 2013-08-05
回 2楼(天下无雪) 的帖子
安装官方的Qt,qmake.exe,是在安装的过程中生成的,不是原来就在安装包中的。
所以,用Notepad++你打开那个qmake.exe,搜qt_prfxpath,是可以看到里面是有你的安装路径的。
离线天下无雪

只看该作者 4楼 发表于: 2013-08-05
回 3楼(realfan) 的帖子
嗯,这个懒得纠结了,解决了就行
不过你编译的那个vs2012的5.1静态库我很好奇用了icu库没有?我编译的跟你的体积差了不是一点点,而且qt5core.lib里总是不能正确链接icu的库函数
从你的qt5core.lib的导出函数中没有类似u_strToLower_51的icu库函数,我想应该你编译的是不含icu的静态库把?
顺便说一句,你编译的这个库参数有点问题,静态库编译数据库的时候最好不要用插件形式,你可以检查你那个assistant.exe就报错无法运行

离线realfan

只看该作者 5楼 发表于: 2013-08-06
回 4楼(天下无雪) 的帖子
我静态编译的,都不含icu
以前静态编译时,不带插件参数,静态编译带数据库的程序,不能用。带了插件就可以。所以,后来,我编译,一直就把
-qt-sql-sqlite -qt-sql-odbc -plugin-sql-sqlite -plugin-sql-odbc都放上了。
不知道是某个版本的问题,还是需要这样。后来没有试去掉plugin是什么效果。
快速回复
限100 字节
 
上一个 下一个