я бегу ./myprogram
, и это дает мне предупреждение:Как правильно связать программу с библиотекой
Warning: Your program was compiled with SimGrid version 3.13.90, and then linked against SimGrid 3.13.0. Proceeding anyway.
Try ldd myprogram
и дает следующее:
libsimgrid.so.3.13.90 => /usr/lib/libsimgrid.so.3.13.90 (0x00007f338ef47000)
Тогда я иду к usr/lib
и введите ll *sim*
в терминал:
lrwxrwxrwx 1 ken ken 21 июл 28 19:29 libsimgrid.so -> libsimgrid.so.3.13.90*
-rwxrwxr-x 1 ken ken 12307480 июл 28 19:29 libsimgrid.so.3.13.90*
В CMakeLists.txt
связать библиотеку simgrid
таким образом:
target_link_libraries(CSim2Sim simgrid)
Почему myprogram
до сих пор связывает против SimGrid 3.13.0
(он не существует в /usr/lib
в то время как SimGrid 3.13.90
делает)?
UPDATE:
Команда locate libsimgrid.so
в ternimal дает:
/home/ken/Downloads/simgrid-master/lib/libsimgrid.so
/home/ken/Downloads/simgrid-master/lib/libsimgrid.so.3.13.90
/home/ken/SimGrid/lib/libsimgrid.so
/home/ken/SimGrid/lib/libsimgrid.so.3.13.90
/usr/lib/libsimgrid.so
/usr/lib/libsimgrid.so.3.13.90