在Mac OS X Lion上启用wxWidgets编译Erlang

时间:2011-12-14 19:07:27

标签: build compilation erlang osx-lion wxwidgets

我正在尝试从运行Lion的Mac上的源代码编译完整的Erlang包。源代码是最新版本(R14B04)。之后

$ ./configure

我得到了以下内容:

wx: Can not combine 64bits erlang with wxWidgets on MacOSX, 
    wx will not be useable

所以,我认为我的电脑上安装的wxWidgets是32位。一种可能的解决方案是将Erlang构建为32位二进制。 (wx是Erlang系统运行的可选项,但我确实需要启用它。)所以我这样做了:

$ ./configure --enable-m32-build

配置过程很顺利,所以我开始构建它。

$ make

在Erlang快乐地建立自己大约三分钟后,我得到了这个

...
...
gen/wxe_derived_dest.h: In constructor ‘EwxMDIClientWindow::EwxMDIClientWindow(wxMDIParentFrame*, long int)’:
gen/wxe_derived_dest.h:699: error: no matching function for call to ‘wxMDIClientWindow::wxMDIClientWindow(wxMDIParentFrame*&, long int&)’
/opt/local/include/wx-2.9/wx/osx/mdi.h:142: note: candidates are: wxMDIClientWindow::wxMDIClientWindow()
/opt/local/include/wx-2.9/wx/osx/mdi.h:140: note:                 wxMDIClientWindow::wxMDIClientWindow(const wxMDIClientWindow&)
make[3]: *** [i386-apple-darwin11.2.0/wxePrintout.o] Error 1
make[2]: *** [opt] Error 2
make[1]: *** [opt] Error 2
make: *** [libs] Error 2

现在我被困住了,不知道该怎么做。有人在运行Lion的Mac上成功构建了Erlang吗?谢谢。

2 个答案:

答案 0 :(得分:3)

您可以从

下载正确编译的wx的Erlang pkg

https://www.erlang-solutions.com/downloads

如果你想使用启用了wx的64位erlang VM,你可以给出这种变化

https://github.com/jvalduvieco/macports

试一试。

答案 1 :(得分:1)

对于wxWidgets 2.9,似乎尚未更新Erlang绑定源。这个签名的wxMDIClientWindow ctor确实不存在(我将检查为什么以及重新引入它是否有意义)。一个简单的解决方法是用默认的ctor替换它,然后调用CreateClient(parent, style)

祝你好运!