【发布时间】:2016-12-13 03:03:07
【问题描述】:
我正在将 Crystal Lang 开发迁移到运行 OSX El-Capitan 的新机器中。
我遇到了一个问题,当使用 MySQL 绑定编译 App 时,水晶编译器会抛出此错误:
$ crystal build src/test1.cr
ld: library not found for -lmysqlclient
clang: error: 链接器命令失败,退出代码为 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
不幸的是,El Capitan,这是不可能的
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 的任何人都可以解释一下吗?最好的方法是什么?
【问题讨论】:
标签: mysql macos osx-elcapitan crystal-lang