我计划在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.1
和x86_64-w64-mingw32-msw-unicode-static-3.1
答案 0 :(得分:0)
原则上,wx-config
绝对应该能够在同一个库的多个构建之间进行选择(这大约是其整个逻辑和生活目的的90%),但我担心可能存在构建选择的wx-config
逻辑和--host
选项存在问题,在您的案例中选择正确的构建时需要这样做。
我不确定自己,因为我实际上从不使用wx-config
在多个版本之间进行选择,而是根本不安装它们并使用构建目录中的脚本。即我确信的工作是:
$ 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
这会擦除图书馆也是如此),但除此之外它只有优点:
/usr/local
或任何地方。wx-config
即可明确选择它们。rm -rf ~/build/wx/whatever
重新开始。