Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 减少wxWidgets的大小并禁用PNG_Macos_Static_Wxwidgets_Strip - Fatal编程技术网

Macos 减少wxWidgets的大小并禁用PNG

Macos 减少wxWidgets的大小并禁用PNG,macos,static,wxwidgets,strip,Macos,Static,Wxwidgets,Strip,我编辑端口文件以静态方式创建wxWidgets,因为我想减小可执行文件的大小。起初,我使用动态链接和dylibbundler,但这导致捆绑包的大小约为40 MB。使用静态链接的wxWidgets和一系列strip设置,我可以将可执行文件的大小设置为~10MB,将捆绑包的大小设置为11MB。但是,我知道这个简单的程序仍然在使用libpng.a,因为当我在link选项中删除库时,我会得到链接错误。我尝试在前缀头中指定wxNO_PNG_LIB,在任何包含之前,直到Xcode开始抱怨重新定义。对于这样一

我编辑端口文件以静态方式创建wxWidgets,因为我想减小可执行文件的大小。起初,我使用动态链接和dylibbundler,但这导致捆绑包的大小约为40 MB。使用静态链接的wxWidgets和一系列strip设置,我可以将可执行文件的大小设置为~10MB,将捆绑包的大小设置为11MB。但是,我知道这个简单的程序仍然在使用libpng.a,因为当我在link选项中删除库时,我会得到链接错误。我尝试在前缀头中指定wxNO_PNG_LIB,在任何包含之前,直到Xcode开始抱怨重新定义。对于这样一个简单的应用程序,我希望能够有一个更小的应用程序大小,我认为删除PNG和其他一些strip命令就是我所剩下的


然而,如果有人知道减少wxWidgets大小的更好方法,我使用macports GCC 4.9和Xcode,并从端口静态编译wxwidgets30。

定义
wxNO\u PNG\u LIB
在Mac下没有帮助,它是MSVC特有的。您需要在不支持PNG的情况下构建自己版本的wxWidgets(尽管这是我最不想禁用的功能)以及其他一切可以解决的问题。基本上,首先运行
configure--禁用所有功能
,然后为您需要的所有功能添加启用选项。

Ah,也许我可以将自己的变体添加到wxwidgets30端口文件中,这是一个基本版本。这是macports的一大优点,我可以在各种变体之间切换。谢谢你的建议。