【问题标题】:Handling multiple compilations of wxWidgets处理 wxWidgets 的多次编译
【发布时间】:2016-12-28 20:02:28
【问题描述】:

我计划在 Ubuntu 16.10 上使用 wxWidgets 开发一个小型 gui 应用程序。我已经下载了 3.1.0 版本的源包,我能够成功地为本地平台和带有 MinGW 的 Windows 构建包。

但是,问题是我不知道应该将哪些前缀传递给../configure --prefix= 命令。

如果我没有为前缀传递任何东西,然后使用make install 安装它们,第二个会覆盖第一个。虽然 wx-config 将其他配置显示为“也在 /usr/local... 中找到”,但我无法使用 --toolkit=gtk2 选项选择它,wx-config 表示没有这样的构建。

那么基本上,根据 linux 命名规则和 wxWidgets 约定,每个构建的前缀应该是什么?

注意:构建是:gtk2-unicode-static-3.1x86_64-w64-mingw32-msw-unicode-static-3.1

【问题讨论】:

  • 确定需要--prefix= 选项吗?
  • 正如我所说,我无法让 wx-config 在没有前缀的情况下选择其中一个。是否有任何其他正确的方法可以进行多个构建?如果是的话,我会很感激......
  • --prefix 选项旨在将库安装在/usr/lib/usr/lib64 目录以外的任何其他位置(以及/usr/include 的单独目录)。您是否费心阅读 autoconf 文档?
  • @πάνταῥεῖ 我忘了看那个特定的文档。但是得到了我的答案。还是谢谢...

标签: c++ mingw wxwidgets ubuntu-16.04


【解决方案1】:

原则上,wx-config 绝对应该能够在同一个库的多个构建之间进行选择(这大约是其整个逻辑和生活目的的 90%),但我担心可能会出现问题使用 wx-config 逻辑用于构建选择和 --host 选项,在您的情况下选择正确的构建是必需的。

我不确定自己,因为我实际上从不使用wx-config 在多个构建之间进行选择,而是根本不安装它们并使用构建目录中的脚本。 IE。我确定确实有效的是:

$ mkdir -p ~/build/wx/gtk
$ cd $_
$ ~/src/wx/configure # of course, you can add other options, if needed
$ make -s
$ mkdir ../msw
$ cd $_
$ ~/src/wx/configure --host=x86_64-w64-mingw32 --with-msw
$ make -s
$ cd ~/src/my/program
$ make WX_CONFIG=~/build/wx/gtk/wx-config # or the MSW one

使用 wxWidgets 构建而不像这样安装它确实会浪费一些磁盘空间(当然,您可以使用rm *.o 来回收大部分空间——只是不要使用make clean,这也会删除库),但除此之外它只有优点:

  1. 您不需要任何特殊权限,而这些权限通常需要写信给/usr/local 或任何地方。
  2. 只需选择正确的wx-config,您就可以轻松地拥有任意数量的构建,并在它们之间进行明确的选择。
  3. 如果出现任何问题,您可以随时 rm -rf ~/build/wx/whatever 重新开始。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-05
    • 2018-11-08
    • 1970-01-01
    • 2015-02-26
    • 2011-01-26
    • 2015-08-31
    相关资源
    最近更新 更多