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

XCode linking static library (GLEW) attempts dylib load

我正在尝试 link GLEW 库到 Xcode 项目,但我 运行 遇到了问题。每当我使用 libGLEW.a 将我的构建设置为 link 时,我会立即在启动时崩溃,错误输出为:

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 的导入库?作为后续行动,如何正确构建库以避免这种情况?

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

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

一旦我在构建文件夹 (libGLEW.dylib) 中删除了动态版本,然后在离开时出现加载错误,我可以 link 并毫无问题地调用静态库函数。