请原谅任何非技术术语,因为我对软件开发非常陌生,并且仍然试图了解库如何工作和使用。
我正在使用Cinnamon Desktop运行Linux Mint 17.1。
我将wxWidgets的源代码下载到本地项目文件夹中,然后执行如下操作(从基本wx目录开始):
(这些是wxWidgets库附带的install.txt中提供的说明)。我第一次尝试这个,我收到错误,指出无法找到GTK +开发文件。我用过:
sudo apt-get install libgtk2.0-dev
获取它们,然后重试安装。这次它奏效了。但是,在执行" make"命令(导致很多代码很快通过终端,所以我没有时间复制确切的短语)显示的几个项目看起来像:
(nameOfPackage)从哪里来? (SYS)
或类似的东西。例如,我相信它说PNG包,JPEG包和其他一些东西都是从" sys"我认为这意味着它是从我的计算机上的共享库中提取的。
如果我想创建一个真正的便携式应用程序,如何编译wxWidgets库而不包含所有这些外部依赖项?非常感谢任何帮助,因为我仍然试图理解实际编译过程,目标文件等的所有复杂性。
答案 0 :(得分:0)
您将无法完全静态链接所有内容。除非您静态链接GTK +本身(由于技术原因不建议也会产生许可影响),您也不应该静态链接GTK使用的libpng
。
对于其他图书馆,例如regex
,expat
,lib{jpeg,tiff}
,您可以使用--with-xxx=builtin
配置选项与wxWidgets捆绑的版本进行静态链接。
在实践中,通常的解决方案是建立一个相当旧的系统,因为所有较新的系统都将与之兼容。
P.S。配置输出存储在config.log
中,您还应该能够使用终端回滚缓冲区来查看输出过快的输出。当然,您始终可以将配置输出重定向到tee(1)
,然后使用less
更轻松地查看它。