【问题标题】:How to create wxWidgets application without external dependencies?如何创建没有外部依赖的 wxWidgets 应用程序?
【发布时间】:2015-07-19 13:47:29
【问题描述】:

请原谅任何非技术术语,因为我对软件开发非常陌生,并且仍在努力了解库的工作方式和使用方式。

我正在使用 Cinnamon Desktop 运行 Linux Mint 17.1。

我将 wxWidgets 的源代码下载到本地项目文件夹中,然后执行以下操作(从基础 wx 目录):

  • mkdir buildgtk
  • cd buildgtk
  • ../configure --with-gtk
  • 制作

(这些是 wxWidgets 库附带的 install.txt 中提供的说明)。第一次尝试时,我收到错误消息,指出找不到 GTK+ 开发文件。我用过:

sudo apt-get install libgtk2.0-dev

获取它们,然后重试安装。这次奏效了。但是,在执行“make”命令期间(导致大量代码非常快地通过终端,所以我没有时间复制确切的短语)显示了几个看起来像这样的项目:

(nameOfPackage) 从哪里来? (系统)

或类似的东西。例如,我相信它说 PNG 包、JPEG 包和其他一些东西是从“sys”中提取的,我认为这意味着它是从我计算机上的共享库中提取的。

如果我想创建一个真正可移植的应用程序,我如何编译 wxWidgets 库而不包含所有这些外部依赖项?非常感谢任何帮助,因为我仍在尝试了解实际编译过程、目标文件等的所有复杂性。

【问题讨论】:

    标签: linux compilation dependencies cross-platform wxwidgets


    【解决方案1】:

    您将无法完全静态地链接所有内容。除非您静态链接 GTK+ 本身(出于技术原因不建议这样做,并且还涉及许可),您也不应该静态链接 GTK 使用的 libpng

    对于其他库,例如regexexpatlib{jpeg,tiff},可以使用--with-xxx=builtin配置选项静态链接wxWidgets捆绑的版本。

    在实践中,通常的解决方案是在一个相当旧的系统上构建,因为所有较新的系统都将与它兼容。

    附:配置输出存储在config.log,您还应该能够使用终端回滚缓冲区来查看过快的输出。当然,您可以随时将配置输出重定向到tee(1),然后使用less 更舒适地查看它。

    【讨论】:

      猜你喜欢
      • 2018-01-17
      • 1970-01-01
      • 1970-01-01
      • 2016-04-19
      • 1970-01-01
      • 2011-10-10
      • 2019-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多