Erlang和wxWidgets - 可能的错误

时间:2012-12-30 20:53:16

标签: macos erlang wxwidgets

我在Mac OSX 10.7上,但我相信这也会出现在10.8 +

尝试运行(在erlang内)

wx:demo().

将产生以下输出:

beam.smp [2733:f0b] CFURLCreateWithString传递了这个无效的URL字符串:'/System/Library/CoreServices/CommonCocoaPanels.bundle'(文件系统路径而不是URL字符串)。创建的URL不适用于大多数文件URL功能。应该使用CFURLCreateWithFileSystemPath或CFURLCreateWithFileSystemPathRelativeToBase。

现在演示运行得很好,但为什么输出这一行呢?

它没有提及erlang,经过一些浏览之后,似乎这是一个wxWidgets错误,因为人们在python中遇到同样的问题,并且由于输出中的CommonCocoaPanels.bundle而导致Mac OSX为中心。

现在真的只是烦恼,因为一切运行得很好。但它很可能是一个错误,不是吗?

如何解决?

3 个答案:

答案 0 :(得分:0)

据我所知,wxErlang目前在MacOS上被破坏,维护者承诺在wxWidgets 3.0发布后修复它。

答案 1 :(得分:0)

您使用的是wxWidgets的哪个版本?我在wxWidgets 2.8.12下使用Mac OS 10.6.8,使用Carbon -arch i386进行自定义构建。

  

在wxWidgets 2.8.x中,Carbon是推荐的库,因为它是        更稳定。可可在wxWidgets 2.8.x中不完整。如果你感兴趣        在使用Cocoa时,你应该从可可的wxWidgets 2.9.x开始        更完整。

框架本身看起来与Max OS不同(可能是因为Carbon),API的一小部分被破坏了(这并不妨碍程序实际运行 - 只是小麻烦)。

答案 2 :(得分:0)

供我将来参考,以及其他人参考..

以下操作不会显示上述错误消息。

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).

奇怪的是,即使我的所有试验和错误调试,一行一行,实际上没有简单的方法来达到它的底部。结果是包含了:

  

process_flag(trap_errors,true)

会产生该错误。我很肯定没有任何崩溃可以调用旗帜的行动。

深度错误。没什么后果。

让我们希望他们在3.0升级的同时修复它。