我在編譯包含「boost/asio.hpp」的程序時遇到問題。
編譯這個程序(從升壓現場拍攝):用boost編譯問題
example.cpp:
#include <boost/lambda/lambda.hpp>
#include <iostream>
#include <iterator>
#include <algorithm>
int main()
{
using namespace boost::lambda;
typedef std::istream_iterator<int> in;
std::for_each(
in(std::cin), in(), std::cout << (_1 * 3) << " ");
}
與
c++ -I path/to/boost_1_55_0 example.cpp -o example
工作正常。 但是,當該程序包括:
boost/asio.hpp
我試圖用編譯它:
g++ -I /usr/local/boost_1_55_0 example.cpp -o example -lboost_system -lboost_thread
可執行的產生,但我得到這個錯誤試圖執行「榜樣」的時候:
./example: error while loading shared libraries: libboost_system.so.1.55.0: cannot open shared object file: No such file or directory
「libboost_system.so.1.55.0」文件位於「/ usr/local/lib」。 我也試圖與編譯程序:
g++ -I /usr/local/boost_1_55_0 -L/usr/local/lib example.cpp -o example -lboost_system -lboost_thread
,並得到了同樣的錯誤。
我該如何解決這個問題?