在 Mac OS X Lion 上启用 wxWidgets 来编译 Erlang
我正在尝试在运行 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 吗?谢谢。
I am trying to compile the full Erlang
package from source code on a Mac running Lion. The source code is latest release (R14B04
). After
$ ./configure
I got the following:
wx: Can not combine 64bits erlang with wxWidgets on MacOSX,
wx will not be useable
So, I figured that the wxWidgets
installed on my computer is 32bits. And one possible solution would be to build Erlang into 32bits binary. (wx is optional for the Erlang system to run, but I do really need it to be enabled.) So I did this:
$ ./configure --enable-m32-build
The configuring process went fine, so I started to build it.
$ make
After Erlang building itself happily for about three minutes, I got this
...
...
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
Now I am stuck and don't know what to do. Has anybody successfully built Erlang on a Mac running Lion? Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
下载带有正确编译的 wx 的 Erlang pkg
您可以从https://www.erlang-solutions.com/downloads< /a>
如果你想使用启用了 wx 的 64 位 erlang VM,你可以提供此变体
https://github.com/jvalduvieco/macports
尝试一下。
You can download a Erlang pkg with correctly compiled wx from
https://www.erlang-solutions.com/downloads
If you want to use 64bit erlang VM with wx enabled you can give this variation
https://github.com/jvalduvieco/macports
a try.
Erlang 绑定源似乎还没有针对 wxWidgets 2.9 进行更新。具有此签名的 wxMDIClientWindow 构造函数确实不存在(我将检查原因以及重新引入它是否有意义)。一个简单的修复方法是将其替换为默认 ctor,然后调用
CreateClient(parent, style)
。祝你好运!
Erlang bindings sources seem to not have been updated for wxWidgets 2.9 yet. There
wxMDIClientWindow
ctor with this signature indeed doesn't exist (I'm going to check why and whether it makes sense to reintroduce it). A simple fix would be to replace it with a default ctor followed by a call toCreateClient(parent, style)
.Good luck!