我已经在我的 Fedora10 机器上安装了 boost C++ 库,但我想使用一个更新的版本,我保存在我的主文件夹中的某个位置。我希望 g++ 使用我的主文件夹位置中的包含和库文件,而不是默认 ( /usr/include and /usr/lib64
)。
就此而言,我还在我的文件中声明CPLUS\_INCLUDE\_PATH and LIBRARY\_PATH
了环境变量,如此处所述。~/.bashrc
现在当我跑步时,
g++ -o hello.so -fPIC hello.cpp -shared -lboost_python
预处理器使用我的主文件夹位置中的包含文件,覆盖默认位置(因为它应该,因为CPLUS\_INCLUDE\_PATH
在搜索路径中具有更高的优先级)。但是链接器似乎没有遵循相同的优先规则。它总是从默认位置使用 libboost_python.so/usr/lib64
而不是首先搜索LIBRARY\_PATH
。只有当我使用switchlibboost\_python.so
明确指定时,它才会链接到我的主文件夹中的库。-L
这真的很不方便。