Red*_*Red 8 c++ linker shared-libraries ld library-path
我在这里玩的包很不为人所知,但问题却很普遍.基本上,我正在尝试使用C++扩展编译Python模块(称为rql).该扩展使用称为gecode的外部框架,其中包含多个库.我编译了gecode并在本地安装.现在,让输出说明一下:
red@devel:~/build/rql-0.23.3$ echo $LD_LIBRARY_PATH
/home/red/usr/lib
red@devel:~/build/rql-0.23.3$ ls $LD_LIBRARY_PATH | grep libgecodeint
libgecodeint.so
libgecodeint.so.22
libgecodeint.so.22.0
red@devel:~/build/rql-0.23.3$ python setup.py build
running build
running build.py
package init file './test/__init__.py' not found (or not a regular file)
running build_ext
building 'rql_solve' extension
g++ -pthread -shared build/temp.linux-i686-2.5/gecode-solver.o -lgecodeint -lgecodekernel -lgecodesearch -o build/lib.linux-i686-2.5/rql_solve.so
/usr/bin/ld: cannot find -lgecodeint
collect2: ld returned 1 exit status
error: command 'g++' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)
Nik*_*sov 13
LD_LIBRARY_PATH
用于运行时链接器/加载器(可以实现相同的效果ldconfig
).你需要的是-L
旗帜:
-L/home/red/usr/lib
Run Code Online (Sandbox Code Playgroud)
在编译器命令行上.
而且 - 感谢@bjg提醒我 - LIBRARY_PATH
如果你不想搞乱编译器选项,你可以使用它.
归档时间: |
|
查看次数: |
8775 次 |
最近记录: |