OS X上的Derelict3 D绑定

时间:2014-08-24 18:52:25

标签: d derelict3

我只是想用GLFW3 D绑定做一点测试。 我使用

创建了一个新包
dub init glfw3Test

然后我在glfw3Test \ source \ app.d

中写了一个小测试
import derelict.glfw3.glfw3;

void main() 
{
    // Load the GLFW 3 library.
    DerelictGLFW3.load();
    if(DerelictGLFW3.isLoaded)
    {
    // Do something cool!

    }
}

我修改了默认的JSON:

{
"name": "glfw3Test",
"dependencies":
{
    "derelict-glfw3": "~master"
},
"configurations": [
    {
        "name": "glfw3Test",
        "targetType": "executable"
    }
]   
}

我使用dub build构建,一切都很顺利,但是当我尝试启动可执行文件时,我遇到了以下错误:

derelict.util.exception.SharedLibLoadException@../../../.dub/packages/derelict-util-1.0.2/source/derelict/util/exception.d(35): Failed to load one or more shared libraries:
libglfw.3.dylib - dlopen(libglfw.3.dylib, 2): image not found
libglfw3.dylib - dlopen(libglfw3.dylib, 2): image not found

我还试图在不使用DUB的情况下手动编译我的应用程序,但我总是遇到同样的问题。

它似乎在寻找GLFW3共享库,但我认为lib是由构建过程静态链接的。

我在OS X 10.10上安装了Xcode 6(DMD编译器2.065)

1 个答案:

答案 0 :(得分:2)

我注意到GLFW3的默认make过程(使用cmake)不会创建dylib文件。所以我用以下选项重建了GLFW:

cmake -D BUILD_SHARED_LIBS=ON

然后我创建了一个make install,所以现在文件libglfw.dylib正确安装在/ usr / local / lib

感谢@duselbaer让我注意到这个问题。