Hello all,
I've recently reinstalled Linux (ubuntu 9.04) due to a hard disk failure and and trying to reconfigure my programming environment.
Back on my old system, the following snippet from my CMake file happliy compiled:
Code:
# Testing for library
add_executable(Test_Maths_Array2D Maths/Test_Array2D.cpp)
target_link_libraries(Test_Maths_Array2D boost_unit_test_framework m)
add_test(Test_Maths_Array2D Test_Maths_Array2D)
But now, it spits out:
Code:
/usr/bin/ld: cannot find -lboost_unit_test_framework
collect2: ld returned 1 exit status
However, if I change it from:
Code:
boost_unit_test_framework # <- Broken
boost_unit_test_framework-mt # <- Working
What is the -mt suffix? There's also a lot of the -gcc suffix as well when I look in /usr/lib. For example:
Code:
lrwxrwxrwx 1 root root 51 2009-07-28 23:38 /usr/lib/libboost_unit_test_framework-gcc41-1_34_1.so.1.34.1 -> libboost_unit_test_framework-gcc42-1_34_1.so.1.34.1
lrwxrwxrwx 1 root root 54 2009-07-28 23:38 /usr/lib/libboost_unit_test_framework-gcc41-mt-1_34_1.so.1.34.1 -> libboost_unit_test_framework-gcc42-mt-1_34_1.so.1.34.1
-rw-r--r-- 1 root root 274K 2009-02-26 22:22 /usr/lib/libboost_unit_test_framework-gcc42-1_34_1.so.1.34.1
-rw-r--r-- 1 root root 274K 2009-02-26 22:22 /usr/lib/libboost_unit_test_framework-gcc42-mt-1_34_1.so.1.34.1
-rw-r--r-- 1 root root 1.1M 2009-03-27 12:28 /usr/lib/libboost_unit_test_framework-mt.a
lrwxrwxrwx 1 root root 41 2009-08-07 18:37 /usr/lib/libboost_unit_test_framework-mt.so -> libboost_unit_test_framework-mt.so.1.37.0
-rw-r--r-- 1 root root 325K 2009-02-27 09:10 /usr/lib/libboost_unit_test_framework-mt.so.1.35.0
-rw-r--r-- 1 root root 373K 2009-03-27 12:28 /usr/lib/libboost_unit_test_framework-mt.so.1.37.0
-rw-r--r-- 1 root root 325K 2009-02-27 09:10 /usr/lib/libboost_unit_test_framework.so.1.35.0
So once upon a time, there must have been a symlink of some sort, but I never put anything like that there.
It now works, but I wish I had an explanation as to why...
-- Damien