QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1332|回复: 7

kdevelop编译问题

[复制链接]
发表于 2005-5-7 16:04:53 | 显示全部楼层 |阅读模式
怎么把一些库也带进去,这样生成的文件在其她机子上不用库依赖,也可以运行?我用wxwidget写的窗口,到其它机子上就用不了了~有办法解决吗?
发表于 2005-5-7 16:44:08 | 显示全部楼层

Re: kdevelop编译问题

[quote:bc1221ba4b="turingcat"]怎么把一些库也带进去,这样生成的文件在其她机子上不用库依赖,也可以运行?我用wxwidget写的窗口,到其它机子上就用不了了~有办法解决吗?[/quote]


如果是wxWindows,建议你用静态的wx库,这样编出来的程序就不依赖wx而仅仅依赖gtk2了。

如果你希望把整个程序都静态编译,有点得不偿失,体积就没法控制了。
回复

使用道具 举报

 楼主| 发表于 2005-5-7 17:20:16 | 显示全部楼层
o?
是不是安装wxwindows的时候选择static啊?
回复

使用道具 举报

 楼主| 发表于 2005-5-7 17:25:28 | 显示全部楼层
安装wxwidget的时候,有not to link as share lib 还有一个 build as single lib,是不是两个都要为yes啊?
回复

使用道具 举报

 楼主| 发表于 2005-5-7 21:48:30 | 显示全部楼层
[quote:a05ed96c68="gxl117"]一般来讲你可以编译两个wxWidgets库,一个静态的与一个动态+Debug的。静态库配置方法为:
configure --disable-shared
你可以将其与so版安装在一起,在编译程序时加参数wx-config --static或--debug就可自动选择用静态库编译还是用动态+Debug编译了。如果你有更多的wxWidgets版本还可用--prefix,--version --universal等参数来作出选择。
不过使用完整的Wx静态库编译的程序体积较大,如果你的程序用于较认真或空间较紧张的场合可以专门为程序定制一个wx静态库,去除不必要的构件,在编译时通过wx-config来选择对应版本,可得到最优的结果,很多使用wx的商业软件就是这样作的。更具体的作法你可以查阅文档。[/quote]

谢谢gxl117,再想请教一下,与so版安装在一起,是什么意思?我试了一下,用kdevelop编译生成的文件只有400多k,可是在终端下用g++加库编译,有28M,晕~确实该优化优化~
回复

使用道具 举报

 楼主| 发表于 2005-6-2 22:23:00 | 显示全部楼层
终于考完试~好久没来逛论坛了,gxl117兄,我的wxwidget是静态连接的,所写的程序还有两个库,lpnet,和lpcap,和网络有关的,28.8M,郁闷。
回复

使用道具 举报

发表于 2005-6-3 17:06:08 | 显示全部楼层

可以用strip命令扒皮

用strip命令扒皮应该能小一些的
回复

使用道具 举报

 楼主| 发表于 2005-6-4 07:55:58 | 显示全部楼层
嗯~用了strip后只有3.1m了,可是不过写makefile的话,生成的可执行文件怎么让他自动strip呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-5 21:55 , Processed in 0.066855 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表