我刚刚下载了 Mosek 库并尝试将其添加到我的项目中。我遵循了 API 中的所有步骤,并设法使用提供的 Makefile 运行了 lo1 示例
INCPATHS=-I../../platform/osx64x86/h -I.
LIBPATHS=-L../../platform/osx64x86/bin
MOSEKLIB=-lmosek64
CCOPT=
LDOPT=-Wl,-rpath,@loader_path/../../platform/osx64x86/bin -pthread -lSystem -lm -Xlinker -bind_at_load
CC=gcc -m64
LD=gcc -m64
lo1: lo1.c
$(CC) -c $(INCPATHS) $(CCOPT) -o lo1.o lo1.c
$(LD) $(LIBPATHS) lo1.o $(MOSEKLIB) $(LDOPT) -o lo1
install_name_tool -change @loader_path/libmosek64.7.1.dylib ../../platform/osx64x86/bin/libmosek64.7.1.dylib lo1
现在,当我想构建我的 Xcode 项目时,我得到了错误:
dyld: Library not loaded: @loader_path/libmosek64.7.1.dylib
Referenced from: /Users/John/Library/Developer/Xcode/DerivedData/quantstrat-cetdhtrlbbvomigzrlcbzwxogqwy/Build/Products/Debug/quantstrat
Reason: image not found
我过去已经添加了库,所以我是这样进行的:
- 在构建阶段,我将库添加到 Link Binary With Libraries
- 在 Build Settings 我添加了 Library Search Paths /Users/John/mosek/7/tools/platform/osx64x86/h 的路径
- 在 Build Settings 我添加了 Header Search Paths /Users/John/mosek/7/tools/platform/osx64x86/bin 的路径
我整天都在检查网络,我认为我缺少的是 MakeFile 中的 install_name_tool。我应该更改什么设置让 Xcode 知道库的位置?
谢谢,约翰