Macos Erlang和wxWidgets-可能的错误
我使用的是MacOSX10.7,但我相信这也会出现在10.8中+ 尝试在erlang中运行Macos Erlang和wxWidgets-可能的错误,macos,erlang,wxwidgets,Macos,Erlang,Wxwidgets,我使用的是MacOSX10.7,但我相信这也会出现在10.8中+ 尝试在erlang中运行 wx:demo(). 将产生以下输出: beam.smp[2733:f0b]CFURLCreateWithString被传递了以下无效URL字符串:'/System/Library/CoreServices/CommonCocoaPanels.bundle'文件系统路径而不是URL字符串。创建的URL不能与大多数文件URL函数一起使用。应改用CFURLCreateWithFileSystemImpres
wx:demo().
将产生以下输出:
beam.smp[2733:f0b]CFURLCreateWithString被传递了以下无效URL字符串:'/System/Library/CoreServices/CommonCocoaPanels.bundle'文件系统路径而不是URL字符串。创建的URL不能与大多数文件URL函数一起使用。应改用CFURLCreateWithFileSystemImpression或CFURLCreateWithFileSystemImpressionRelativeTobase
现在演示运行得很好,但是为什么要输出这一行呢
它没有提到erlang,在浏览了一番之后,这似乎是一个wxWidgets错误,因为人们在python中也有同样的问题,并且由于输出中的commonCoacoaPanels.bundle,它是以Mac OSX为中心的
这真的只是一个烦恼,因为现在一切都很好。但这很可能是一个bug,不是吗
如何修复它呢?据我所知,wxErlang目前在MacOS上被破坏,维护人员承诺在wxWidgets 3.0发布后修复它。您使用的是哪个版本的wxWidgets?我在MacOS10.6.8下使用了wxWidgets 2.8.12,这是一个为碳纤维定制的版本,带有-arch i386 在wxWidgets 2.8.x中,推荐使用Carbon库,因为它是 更稳定。Cocoa在wxWidgets 2.8.x中不完整。如果你感兴趣 在使用Cocoa时,您应该从wxWidgets 2.9.x开始,其中Cocoa是 更加完整
框架本身看起来与Max OS有些格格不入,可能是因为碳,API的一小部分被破坏了。这并不妨碍程序实际运行——只是一些小麻烦。供我和其他人以后参考 以下操作将在不显示上述错误消息的情况下运行 奇怪的是,即使我一行一行地调试了所有的尝试和错误,也确实没有简单的方法来找出问题的症结所在。结果是包含了一个: 进程\u标记陷阱\u错误,真 将生成该错误。我确信没有任何碰撞会引起国旗的行动 严重错误。没什么影响
让我们希望他们能在3.0升级时将其修复。如果您认识维护人员,请让他们知道,在3.0发布之前修复wxWidgets本身遇到的问题会更好。之后再做可能会变得更加复杂。因此,我强烈建议尝试让wxErlang与即将发布的2.9.5配合使用。我决定使用erlang解决方案版本,其中捆绑了wxWidgets。试图编译是一个严肃的PITA,请注意我对这一点并不陌生。我相信是2.8.12,没有人有过这个问题?它可能是OSX Lion 10.7特有的吗?正如我所知,您可以编译它以在OSX 10.7中使用碳。为什么不呢?开发者表示,Cocoa在2.8.12中仍然不太稳定。但如果你能接受这一信息,那又何乐而不为呢。
P = wx:new(),
F = wxFrame:new(P, 1, "main", [{size, {600,600}]),
WindowOpts = [{size, {600,600}}, {style, ?wxSUNKEN_BORDER}],
W = wxWindow:new(F, ?wxID_ANY, WindowOpts),
wxFrame:connect(F, close_window, [{skip,true}]),
wxWindow:connect(W, paint, [{skip, true}]),
wxFrame:show(F),
wxFrame:centre(F).