Използвам това в моя makefile, за да създам моята програма:
all: server.cpp
g++ -o server server.cpp -I ~/boost/include -L~/boost/lib -Wl,-rpath,~/boost/lib -lboost_system -lboost_thread -DBOOST_ALL_NO_LIB=1
Когато компилирам, получавам тези предупреждения:
/usr/bin/ld: warning: libboost_system.so.1.53.0, needed by /usr/local/lib/libboost_thread.so, may conflict with libboost_system.so.5
Когато стартирам програмата си, получавам предупреждението:
./server: error while loading shared libraries: libboost_thread.so.1.53.0: cannot open shared object file: No such file or directory
командата -Wl/rpath не ми работи в момента. Аз също съм уморен да използвам
export LD_LIBRARY_PATH=~/boost/lib
преди да стартирам програмата си и да получа това обратно от терминала:
export: relocation error: export: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
Какво мога да направя, за да посоча каква библиотека искам да използвам, когато изпълнявам програмата?