c++ - OS X dylib 指的是可执行文件本身

标签 c++ mysql macos linker dylib

我不确定我问这个问题的方式是否正确,但我最近尝试制作一个使用 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/

相关文章:

c++ - 按结构体的给定成员对结构体数组进行排序(快速排序)

c++ - 什么是 undefined reference /未解析的外部符号错误,我该如何解决?

php - 尝试读取json并用php将其写入sql

ruby-on-rails - Rails 3 - 无法安装 pg gem

macos - mac OSX Sierra,无法添加 vagrant box laravel/homestead,因为需要 cURL v 9.0.0 或更高版本,并且 libcurl.4.dylib 提供 v7.0.0

macos - 如何在MacOS中创建一个Droplet(拖放)(执行)程序?

html - 用于简化互联网上重复性任务的 C++ 库?

mysql - 我如何升级mysql?

mysql - 分组依据原因非对象

c++ - 搜索进程内存