我不确定我问这个问题的方式是否正确,但我最近尝试制作一个使用 mysql/c++ 的应用程序
我这样编译程序:
g++ -o test main.cpp -I./include -L./lib -lmysqlclient -lmysqlcppconn
当我运行该程序时,它会响应以下内容:
dyld: Library not loaded: /home/myname/Desktop/path/to/exe
Referenced from: /Users/myname/Desktop/path/to/./test
Reason: image not found
Trace/BPT trap: 5
谁能看出我可能做错了什么?
提前致谢,如果需要有关该问题的更多信息,请告诉我。
最佳答案
我只能猜测你的 mysql 库没有位于标准位置。
如果你想把你的库放在一个非标准的地方,你应该设置环境变量 DYLD_LIBRARY_PATH
指向你的动态链接库。
在 linux/most unices 下,这将是 LD_LIBRARY_PATH
。
所以像这样:
export DYLD_LIBRARY_PATH="${DYLD_LIBRARY_PATH}:./lib";
./yourExecHere
应该可以解决问题。
关于c++ - OS X dylib 指的是可执行文件本身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21512839/