LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: nightsuns

wxFlashget向外发布第一个版本

[复制链接]
发表于 2007-10-7 16:57:07 | 显示全部楼层
谢谢楼上给出的代码!

这个代码是有问题的,本质上是自绘而不是采用本地控件来实现,所以那个checkbox必定是各平台看起来一样,我没运行linux版本,我猜应该没错,看代码是用了image来表现那个checkbox,在windows下面看起来不错,但在ubuntu里就不见得好看了。我一直想找的是那种用本地控件实现的,不过还没有找到,官方也没有,感觉也不是太好写。
回复 支持 反对

使用道具 举报

发表于 2007-10-7 18:03:23 | 显示全部楼层
Post by nightsuns
nightsuns@debian:~/wxFlashGet_linux_gtk$ ldd wxFlashGet
        libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x40024000)
        libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x4030e000)
        libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x4038f000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x403a9000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x403bf000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0x403eb000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0x403f9000)
        libXi.so.6 => /usr/lib/libXi.so.6 (0x40401000)
        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x40409000)
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x4040c000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x40415000)
        libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x4041a000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x40455000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x40541000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x4057b000)
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x4057e000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x40582000)
        libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x40614000)
        libSM.so.6 => /usr/lib/libSM.so.6 (0x40618000)
        libpng12.so.0 => /usr/lib/libpng12.so.0 (0x40621000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0x40644000)
        libz.so.1 => /usr/lib/libz.so.1 (0x40664000)
        libdl.so.2 => /lib/libdl.so.2 (0x40678000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x4067c000)
        libm.so.6 => /lib/libm.so.6 (0x40762000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40786000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x40791000)
        libc.so.6 => /lib/libc.so.6 (0x407e3000)
        librt.so.1 => /lib/librt.so.1 (0x408fe000)
        libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x40911000)
        libcairo.so.2 => /usr/lib/libcairo.so.2 (0x4091a000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x4097c000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x409e6000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x409e9000)
        libICE.so.6 => /usr/lib/libICE.so.6 (0x409ef000)
        /lib/ld-linux.so.2 (0x40000000)
        libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x40a07000)

这个一闪而过是wx与gtk之间的兼容性问题。wx已经是静态链接了。


用的哪个版本的gcc? 千万不要用系统里自带的,在rh上编译的wx铁定会在ubuntu上出问题,反过来也一样。
仅仅静态链接wx还不够,gcc/glibc/gtk/wx都要用官方提供代码编译,在这个基础上再编译软件。
回复 支持 反对

使用道具 举报

发表于 2007-10-7 20:24:49 | 显示全部楼层
说来可能不信,这类问题一般都是静态连接导致的问题,楼主放一个动态连接wx的程序吧。
看了一下好像还使用了ACE,也是静态连接的。

Post by nightsuns
nightsuns@debian:~/wxFlashGet_linux_gtk$ ldd wxFlashGet
        libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x40024000)
        libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x4030e000)
        libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x4038f000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x403a9000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x403bf000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0x403eb000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0x403f9000)
        libXi.so.6 => /usr/lib/libXi.so.6 (0x40401000)
        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x40409000)
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x4040c000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x40415000)
        libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x4041a000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x40455000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x40541000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x4057b000)
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x4057e000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x40582000)
        libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x40614000)
        libSM.so.6 => /usr/lib/libSM.so.6 (0x40618000)
        libpng12.so.0 => /usr/lib/libpng12.so.0 (0x40621000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0x40644000)
        libz.so.1 => /usr/lib/libz.so.1 (0x40664000)
        libdl.so.2 => /lib/libdl.so.2 (0x40678000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x4067c000)
        libm.so.6 => /lib/libm.so.6 (0x40762000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40786000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x40791000)
        libc.so.6 => /lib/libc.so.6 (0x407e3000)
        librt.so.1 => /lib/librt.so.1 (0x408fe000)
        libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x40911000)
        libcairo.so.2 => /usr/lib/libcairo.so.2 (0x4091a000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x4097c000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x409e6000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x409e9000)
        libICE.so.6 => /usr/lib/libICE.so.6 (0x409ef000)
        /lib/ld-linux.so.2 (0x40000000)
        libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x40a07000)

这个一闪而过是wx与gtk之间的兼容性问题。wx已经是静态链接了。
回复 支持 反对

使用道具 举报

发表于 2007-10-7 21:09:11 | 显示全部楼层
这个软件的自动产生的目录能不能符合linux的习惯呢?例如:生成.Xpp的隐藏目录,我可不愿看到我的home底下一大堆目录。
回复 支持 反对

使用道具 举报

发表于 2007-10-8 13:13:21 | 显示全部楼层
想自己实现就比较麻烦了,除非要很熟悉wxwidget内部的结构了,我记得在linux下还可以吧,用图不会那么难看吧,
回复 支持 反对

使用道具 举报

发表于 2007-10-8 13:54:53 | 显示全部楼层
Post by mrkissinger
不过,不是诋毁楼主,实在是对闭源软件有很大的不信任,尤其是当多个大公司都在利用闭源软件来收集用户信息的时候。


这个不是问题,高效的 Scheme 解释器 Gambit-C 就是这样写出来的。引用它的页面上的一句话,来说明这样做的原因:
The development of Gambit was started in 1989 by Marc Feeley. In order to maintain tight control over the quality of the implementation, few other developers have been permitted to contribute directly to the system. Now that Gambit has matured and that the core system is unlikely to change much, we believe that it is important to open the development process to invite contributions by the Gambit user community.
回复 支持 反对

使用道具 举报

发表于 2007-10-9 01:57:32 | 显示全部楼层
Post by herberteuler
这个不是问题,高效的 Scheme 解释器 Gambit-C 就是这样写出来的。引用它的页面上的一句话,来说明这样做的原因:


BSD也是maintain tight control,但是一樣開源。
開源,別人提交的patch,核心團隊可以采用,也可以不采用。對項目的最終質量保証,仍然是核心團隊完成的。
回复 支持 反对

使用道具 举报

发表于 2007-10-9 11:00:25 | 显示全部楼层
Post by mrkissinger
BSD也是maintain tight control,但是一樣開源。
開源,別人提交的patch,核心團隊可以采用,也可以不采用。對項目的最終質量保証,仍然是核心團隊完成的。

嗯,这个 GNU 的许多项目(如 Emacs)也是一样的,补丁在邮件列表里讨论,只有通过的才能进主干。
回复 支持 反对

使用道具 举报

发表于 2007-10-10 15:33:51 | 显示全部楼层
export MALLOC_CHECK_=0
这个可以让glibc忽略掉上面的free问题。

这个问题不一定是代码问题,也有可能是库的改变造成的。
回复 支持 反对

使用道具 举报

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

本版积分规则

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