• 4904阅读
  • 4回复

老问重提:qt4.4.3静态编译的问题 [复制链接]

上一主题 下一主题
离线pear_2268
 

只看楼主 倒序阅读 楼主  发表于: 2010-01-27
搜了很多相关的资料,但是我在编译时都出现不同的问题,现归纳如下,请大家帮忙分析一下,我在linux下使用qt4.4.3:
1)./configure -static -release
     make  sub-src
    make install时会出现qt路径下的tools/assistant文件夹下的编译出错
2)./configure -static -release -nomake tools
      make sub-src
     make install  ,编译成功,然后在/etc/profile里设置qt的路径等为静态编译路径下的
但是编译自己的运行程序时,
qmake -project后,在.pro文件里添加QMAKE_LFAGS+=-static,
然后qmake -config release ,并未生成makefile.release文件,只有makefile,
最后make的时候就出现错误
请大家给分析一下啊,谢谢!

离线午小夜

只看该作者 1楼 发表于: 2010-01-27
你試下這樣做:
要编译自己的程序时,在程序目录下面执行:
make clean
qmake -config release
然后打开程序目录内的makefile.release文件,找到“ LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -static -Wl,-s -Wl -mthreads -Wl, -subsystem,windows”   删除其中的”-mthreads”
再在程序目录下面执行:
make
[操作系统版本]  Windows XP;Linux Ubuntu;Linux Fedora;
[Qt SDK版本]    4.7.0
[SDK 发布日期]  2010.05
[IDE(集成开发环境)] QtCreator
个人网页:http://hi.baidu.com/午小夜
學歷:Royal Jalidon
离线pear_2268

只看该作者 2楼 发表于: 2010-01-27
引用第1楼午小夜于2010-01-27 10:53发表的  :
你試下這樣做:
要编译自己的程序时,在程序目录下面执行:
make clean
qmake -config release
然后打开程序目录内的makefile.release文件,找到“ LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -static -Wl,-s -Wl -mthreads -Wl, -subsystem,windows”   删除其中的”-mthreads”
.......

感谢回复!
qmake -config release没生成makefile.release文件,所以我在pro文件中加的QMAKE_LFLAGS+=-static
离线pear_2268

只看该作者 3楼 发表于: 2010-01-27
出现的问题中,主要是libfontconfig.a中,后来在makefile文件里,添加了一个-lexpat,接着又出现了libX11.a中undefined的问题,大家静态编译的时候都是怎么弄的啊?
离线pear_2268

只看该作者 4楼 发表于: 2010-01-27
是不是这些库的版本太低的缘故啊?疯了,都
快速回复
限100 字节
 
上一个 下一个