I am trying to compile on a Ubuntu system where I have two different versions of boost
instaled: 1.46.1 in /usr/lib/
and 1.61.0 in /usr/local/lib/
.
I have stated that 1.61.0 is giving me some compilation issues, but I prefer not removing it to study the problem when I have more time. I supposed I could refer at the makefile
to 1.46.1, using -I"/usr/include/boost"
for 1.46.1 source, and then -L /usr/lib
for the libraries. But still not working.
My suspicion is that the usage of -lboost_filesystem -lboost_system -lboost_date_time
are somehow referencing to 1.61.0, even when used together with -L /usr/lib
(which points to 1.46.1). But I have been unable to find information about this compilation flags for the linker.
How can I make sure those -l
are referenced to the Boost
version I want?
Here is an example of what the makefile
is doing while linking (the part where it is failing):
Invoking: Cygwin C++ Linker
g++ -O0 -g3 -Wall -Wextra -o"../bin/MY_APP.exe" ../bin/objs/main.o ../bin/objs/FileLoad.o ../bin/objs/DatabaseLoad.o -L /usr/lib/mysql -L /usr/lib -lmysqlclient -lboost_filesystem -lboost_system -lboost_date_time