将我的工具链安装在与供应商要求不同的目录中,通过适当设置COMPILER_PATH,C_INCLUDE_PATH,CPLUS_INCLUDE_PATH和LIBRARY_PATH变量,可以轻松解决一些较小的问题。
但是,有一个我似乎不容易避开的问题:
beo-it@bsrv01:/tmp/async$ xscale-linux-g++ -fPIC -DBOOST_ASIO_DISABLE_EPOLL -I/var/lib/c++/boost/boost_1_48_0/target/arm-linux-4.4.2/include -oasync main.cpp -L/var/lib/c++/boost/boost_1_48_0/target/arm-linux-4.4.2/lib/static -pthread -lboost_system -lboost_thread
/var/toolchains/arm-linux/4.4.2/arm-linux-4.4.2/arm-linux/bin/ld: cannot find /usr/local/arm-linux-4.4.2/lib/be/libpthread.so.0
collect2: ld returned 1 exit status
我不确定为什么
ld
会通过绝对路径查找库,但这似乎正是这种情况。有什么办法可以避免这种行为,并为它提供共享库的正确路径? 最佳答案
我唯一能想到的就是在实际看起来的地方放置一个符号链接,但将其指向正确的文件。
关于c++ - 规避ld查找,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10282331/