XCode链接静态库(GLEW)尝试dylib加载

juj*_*ura 2 macos xcode glew static-libraries

我正在尝试将GLEW库链接到Xcode项目,但是我一直遇到问题。每当我将构建设置为与libGLEW.a链接时,启动时我都会立即崩溃,并显示以下错误输出:

yld:未加载库:/usr/lib/libGLEW.1.12.0.dylib引用自:/Users/xxx/Library/Developer/Xcode/DerivedData/xcode-test/Products/Debug/manualWindow.app/Contents/MacOS/ manualWindow原因:找不到图片

我没有编写任何代码来请求我的应用程序加载此动态库。这种现象似乎是我的GLEW库实际上是一个导入库,并且正在尝试加载dylib。我确实自己构建了GLEW,并且可以在生成静态库的对象时在命令行上指定“ -DGLEW_STATIC”。

有人知道我怎么能知道我的GLEW库(libGLEW.a)实际上是dylib的导入库吗?作为后续,如何正确构建库以避免这种情况?

juj*_*ura 5

看来这里确实发生了其他事情。

当我构建静态GLEW库时,它也在其旁边构建了动态版本。根据我在网上进行的其他搜索,如果库搜索路径中存在相同名称的版本,则Xcode似乎会自动尝试加载库的动态版本。

一旦删除了我的构建文件夹(libGLEW.dylib)中的动态版本,然后加载错误就会消失,我可以毫无问题地链接和调用静态库函数。