我只想用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共享库,但我认为库是通过构建的过程静态链接的。
我在OSX10.10上安装了Xcode 6 (DMD编译器2.065)
发布于 2014-08-24 20:01:29
我注意到GLFW3的默认make进程(使用cmake)不会创建dylib文件。因此,我使用以下选项重建了GLFW:
cmake -D BUILD_SHARED_LIBS=ON然后我创建了一个make install,所以文件libglfw.dylib现在正确地安装在/usr/libglfw.dylib/lib中。
谢谢你让我注意到这个问题。
https://stackoverflow.com/questions/25475153
复制相似问题