使用MonoDevelop开发界面使用GTK图形界面问题。

如题,在windows下用GTK+写了个小程序,只有一个可执行文件。因为windows不像linux发行版都带有gtk+ runtime,所以发布程序的时候还要带上几十个dll,太不爽了……不没有办法把GTK+这些库静态编译进程序呢?

作者: brglng   发布时间: 2010-05-21

呃。。。没有人了解么?

作者: brglng   发布时间: 2010-05-27

我也想知道……

作者: naska   发布时间: 2010-06-11

windows主机和Linux主机我都试过多次都是死连接,可能"狗爹"主机不支持吧。

作者: 钟爱口袋   发布时间: 2010-06-14

将dll文件和程序放到一个文件夹里,用winrar的自解压。
附件:

未命名.jpg [ 77.07 KiB | 被浏览 382 次 ]

作者: slax   发布时间: 2010-06-14

呃,,楼上这样的话,运行的时候解压出来还是会有一堆文件的哦。。。
我现在觉得挺麻烦呃,即使我静态编译成功了,但程序里还是需要包括很多其他文件,比如theme之类的,而且还不知道如何去摆脱它的路径依赖,默认是一定要按照linux的目录结构来安排,不太符合windows用户习惯,给别人用的时候还要告诉他们到bin目录下面去运行,比较麻烦哦。。。

最后由 brglng 编辑于 2010-06-21 17:43,总共编辑了 1 次

作者: brglng   发布时间: 2010-06-21

请参考ethereal/wireshark
等gtk程序

大部分都是打包了

作者: delectate   发布时间: 2010-06-21

gcc 加一个选项 -static

作者: wzssyqa   发布时间: 2010-06-21

楼上, 这样好像只能静态链接gcc(windows下MinGW)自带的库哦
gtk+官网提供下载的windows版gtk+似乎没有带静态库?难道要自己编译了……

作者: brglng   发布时间: 2010-06-21

我现在发现可执行文件和dll好像不一定要放在bin目录中。放在软件的根目录下,里面再有etc、lib、share之类的目录,gtk+也可以认出来~
所以现在又有一个问题,gtk有没有方法获得程序的“根”目录的路径?比如我把程序在e:\abc下面,那就要获得程序所在的e:\abc这个路径;若使用了bin目录,那就是要获取程序的上级目录e:\abc,不知道这有什么办法实现哦?因为程序中可能需要用到,读写一些文件。

唉,windows就是麻烦,linux完全没有这些乱七八糟的问题。但因为是要给别人用,而我又偏爱gtk+……

作者: brglng   发布时间: 2010-06-21

好像需要.lib、.a文件?不太清楚,好像要编译gtk源码才能得到这种东西吧

作者: EMAX   发布时间: 2010-06-21

没有静态库怎么能静态编译啊,不可能的

作者: wzssyqa   发布时间: 2010-06-21

我也想呀....

作者: 赶集人   发布时间: 2011-04-15