- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Mac 上,我想构建示例 Boost.Python 代码
你好.cpp
#include <boost/python.hpp>
char const* greet()
{
return "hello, world";
}
BOOST_PYTHON_MODULE(hello_ext)
{
using namespace boost::python;
def("greet", greet);
}
我使用 brew install boost-python --with-python3
Boost.Python
然后我通过
编译了hello.cpp
g++ -fpic -c -L/usr/local/Cellar/boost/1.67.0_1/lib `python3.6m-config --includes --libs --ldflags` hello.cpp
生成了一个hello.o
文件。并通过
.so
文件
g++ -shared -L/usr/lib -L/usr/local/Cellar/boost/1.67.0_1/lib -L/usr/local/Cellar/boost-python3/1.67.0_1/lib/ `python3.6m-config --libs --ldflags` -lboost_python3 -o hello_ext.so hello.o
但是它返回了
ld: library not found for -lboost_python3
clang: error: linker command failed with exit code 1 (use -v to see invocation)
或使用 -v
获得更详细的输出。
g++ -shared -L/usr/lib -L/usr/local/Cellar/boost/1.67.0_1/lib -L/usr/local/Cellar/boost-python3/1.67.0_1/lib/ `python3.6m-config --libs --ldflags` -lboost_python3 -o hello_ext.so hello.o -v
Apple LLVM version 9.0.0 (clang-900.0.38)
Target: x86_64-apple-darwin17.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
"/Library/Developer/CommandLineTools/usr/bin/ld" -demangle -lto_library /Library/Developer/CommandLineTools/usr/lib/libLTO.dylib -dynamic -dylib -arch x86_64 -macosx_version_min 10.13.0 -o hello_ext.so -L/usr/lib -L/usr/local/Cellar/boost/1.67.0_1/lib -L/usr/local/Cellar/boost-python3/1.67.0_1/lib/ -L/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/config-3.6m-darwin -lpython3.6m -ldl -framework CoreFoundation -lpython3.6m -ldl -framework CoreFoundation -lboost_python3 hello.o -lc++ -lSystem /Library/Developer/CommandLineTools/usr/lib/clang/9.0.0/lib/darwin/libclang_rt.osx.a
ld: library not found for -lboost_python3
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我该如何解决?
最佳答案
最后发现boost-python lib路径下没有libboost_python37.dylib
$ ls /usr/local/Cellar/boost-python3/1.67.0_1/lib
libboost_numpy37-mt.a libboost_numpy37.a libboost_python37-mt.dylib libboost_python37.dylib
libboost_numpy37-mt.dylib libboost_numpy37.dylib libboost_python37-mt.a libboost_python37.a
所以我创建了一个软链接(soft link)
$ sudo ln -s libboost_python37.dylib libboost_python3.dylib
我现在可以编译我的代码了。
关于python - ld : library not found for -lboost_python on MacOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51906096/
我在 MacOS 10.13.3 (17D47) 上使用 Python 2.7.14。我正在用 python 构建 caffe。该项目仅为 CPU。我可以通过 make run test 构建 caf
我使用 brew install --build-from-source --with-python --fresh -vd boost 安装 boost。然而,当我在 Caffe 项目中运行 mak
在 Mac 上,我想构建示例 Boost.Python 代码 你好.cpp #include char const* greet() { return "hello, world"; } B
我在 pyvlfeat 0.1.1a3 安装过程中遇到的以下错误没有成功找到解决方案:/usr/bin/ld: cannot find -lboost_python-mt-py26 我已经安装了boo
我是一名优秀的程序员,十分优秀!