• 10668阅读
  • 10回复

[提问]linux下Qt如何实现动态编译发布程序和静态发布程序? [复制链接]

上一主题 下一主题
离线edsionte
 
只看楼主 倒序阅读 楼主  发表于: 2011-12-20
在linux,通常使用qt creator编译一个工程后,会有一个个XXX-build-desktop的目录,该目录下除了一些.o的目标文件,还有一个可执行文件,
请问:


1. 这个可执行文件是静态编译生成的还是动态编译生成的?


2.如果我要动态编译生成一个可执行文件,如何编译?需要加入什么选项么?
3.如果我要静态编译生成一个可执行文件,需要加入什么选项么?


问题比较弱,希望各位大侠可以指点。
离线roywillow

只看该作者 1楼 发表于: 2011-12-20
如果你是直接下载官方提供的sdk的话,那应该就是动态的了

请在Qt文档中搜索Deploying an Application on X11 Platforms
之后你会看到如何静态如何动态链接程序了
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线edsionte
只看该作者 2楼 发表于: 2011-12-20
回 1楼(roywillow) 的帖子
感谢你的回复阿,这个文档看的不是很明白,如果用qtcreator直接编译呢,如何进行动态和静态编译
离线roywillow

只看该作者 3楼 发表于: 2011-12-20
其实那个我看的也不是很明白
但是至少能知道想静态编译就要首先有静态编译好的Qt库,动态编译过的Qt库是只能用在动态链接的程序中的
这个跟creator无关,那个只是个ide罢了,编译qt库的时候完全用不到creator
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线edsionte
只看该作者 4楼 发表于: 2011-12-20
回 3楼(roywillow) 的帖子
那如果我现在编译了动态的可执行文件,要移植到其他发行版,是不是将所需库和可执行文件放在一个目录下即可。
离线roywillow

只看该作者 5楼 发表于: 2011-12-20
回 4楼(edsionte) 的帖子
linux似乎不是那么简单的
Deploying an Application on X11 Platforms中提供了一个脚本,可以试试利用那个
但是我在Kubuntu下在Dolphin内执行那个脚本似乎启动后程序的工作目录有些问题
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线crackling
只看该作者 6楼 发表于: 2011-12-21
回 5楼(roywillow) 的帖子
你好,我是在ubuntu11.10下用apt-get install直接安装的qtcreator,编译出的程序直接在其他ubuntu11.10下可以使用,但在10.04上就无法使用,查了下因为11.10自带qt库,现在我也想静态编译,但是我的qtcreator就几百M,网上的SDK都1G多,我想知道我应该下载哪个版本的qt,才能实现静态编译,多谢!
离线roywillow

只看该作者 7楼 发表于: 2011-12-21
回 6楼(crackling) 的帖子
qt官方不会提供静态编译版本的
静态编译只要下载好源码自己编译就好了,但是经常碰到各种问题的,网上漫天搜索教程吧
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线crackling
只看该作者 8楼 发表于: 2011-12-21
回 7楼(roywillow) 的帖子
谢谢,教程我倒是见过一大堆,就是不知道下载哪个版本的源码……能告知你成功编译的源码版本么,这样能省去大把时间,多谢!
离线roywillow

只看该作者 9楼 发表于: 2011-12-21
回 8楼(crackling) 的帖子
我只静态编译过很早之前的4.6还是4.5的一个opensource版,windows下,感觉现在再用那个意义不大
还是自己去尝试把……
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线crackling
只看该作者 10楼 发表于: 2011-12-21
回 9楼(roywillow) 的帖子
多谢,现在官网有4.8的库源码,有空我尝试一下
快速回复
限100 字节
 
上一个 下一个