我正在将 Crystal Lang 开发迁移到运行 OSX El-Capitan 的新机器中。
我遇到了一个问题,在使用 MySQL 绑定编译应用程序时,水晶编译器会抛出此错误:
$ crystal build src/test1.cr
ld: library not found for -lmysqlclient
clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
Error: execution of command failed with code: 1: `cc -o "/Users/james/cprojects/test1/test1" "${@}" -rdynamic -lmysqlclient -lpcre -lgc -lpthread /usr/local/Cellar/crystal-lang/0.18.7_1/src/ext/libcrystal.a -levent -liconv -ldl -L/usr/lib -L/usr/local/lib`
在以前的 OSX 版本中,我需要做的就是创建一个符号链接,它可以解决问题:
ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
不幸的是,埃尔卡皮坦,这是不可能的
ln: /usr/lib/libmysqlclient.18.dylib: Operation not permitted
这是 /usr/local/mysql/lib/ 的内容(请注意,现在我使用的是 v20 insted of 18)
libmysqlclient.20.dylib libmysqld-debug.a mecab
libmysqlclient.a libmysqld.a pkgconfig
libmysqlclient.dylib libmysqlservices.a plugin
我已经看到了一些关于使用特定于 XCode 的 install_name_tool 的想法。
迁移到 El Capitan 的任何人都可以提供一些启示吗?最好的方法是什么?