处理 wxWidgets 的多个编译
Handling multiple compilations of wxWidgets
我计划在 Ubuntu 16.10 上使用 wxWidgets 开发一个小规模的图形用户界面应用程序。我已经下载了 3.1.0 版本的源码包,我能够成功地为本机平台和 Windows 使用 MinGW 构建包。
但是,问题是我无法弄清楚应该将哪些前缀传递给 ../configure --prefix=
命令。
如果我没有为前缀传递任何内容,然后使用 make install
安装它们,第二个将覆盖第一个。尽管 wx-config 将其他配置显示为 "Also found in /usr/local...",但我无法使用 --toolkit=gtk2
选项 select 它,wx-config 表示没有这样的构建。
所以基本上,根据 linux 命名规则和一般的 wxWidgets 约定,每个构建的前缀应该是什么?
注意:构建是:gtk2-unicode-static-3.1
和 x86_64-w64-mingw32-msw-unicode-static-3.1
原则上,wx-config
绝对应该能够 select 在同一个库的多个构建之间(这大约是其整个逻辑和目的的 90%),但我恐怕 wx-config
构建 selection 和 --host
选项的逻辑可能存在问题,select 在您的情况下需要正确的构建。
我不确定自己,因为我实际上从不在多个构建之间使用 wx-config
到 select,而是根本不安装它们并使用构建目录中的脚本。 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 构建而不像这样安装它确实浪费了一些磁盘 space(你可以 rm *.o
回收大部分,当然 - 只是不要这样做 make clean
这也会删除库),但除此之外它只有优点:
- 您不需要任何通常需要写入
/usr/local
或任何地方的特殊权限。
- 您可以根据需要轻松拥有任意数量的构建,只需 select 选择正确的
wx-config
。 即可明确地在它们之间进行选择
- 如果出现任何问题,您可以随时
rm -rf ~/build/wx/whatever
重新开始。
我计划在 Ubuntu 16.10 上使用 wxWidgets 开发一个小规模的图形用户界面应用程序。我已经下载了 3.1.0 版本的源码包,我能够成功地为本机平台和 Windows 使用 MinGW 构建包。
但是,问题是我无法弄清楚应该将哪些前缀传递给 ../configure --prefix=
命令。
如果我没有为前缀传递任何内容,然后使用 make install
安装它们,第二个将覆盖第一个。尽管 wx-config 将其他配置显示为 "Also found in /usr/local...",但我无法使用 --toolkit=gtk2
选项 select 它,wx-config 表示没有这样的构建。
所以基本上,根据 linux 命名规则和一般的 wxWidgets 约定,每个构建的前缀应该是什么?
注意:构建是:gtk2-unicode-static-3.1
和 x86_64-w64-mingw32-msw-unicode-static-3.1
原则上,wx-config
绝对应该能够 select 在同一个库的多个构建之间(这大约是其整个逻辑和目的的 90%),但我恐怕 wx-config
构建 selection 和 --host
选项的逻辑可能存在问题,select 在您的情况下需要正确的构建。
我不确定自己,因为我实际上从不在多个构建之间使用 wx-config
到 select,而是根本不安装它们并使用构建目录中的脚本。 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 构建而不像这样安装它确实浪费了一些磁盘 space(你可以 rm *.o
回收大部分,当然 - 只是不要这样做 make clean
这也会删除库),但除此之外它只有优点:
- 您不需要任何通常需要写入
/usr/local
或任何地方的特殊权限。 - 您可以根据需要轻松拥有任意数量的构建,只需 select 选择正确的
wx-config
。 即可明确地在它们之间进行选择
- 如果出现任何问题,您可以随时
rm -rf ~/build/wx/whatever
重新开始。