Я пытаюсь настроить Eclipse CDT с помощью Cplex. Я выполнил следующие шаги:
Учитывая путь к папке " lib " в папке " концерт " " cplex " и " opl "
Я также дал путь к файлам .a и .so в этих каталогах. Но теперь, когда я пытаюсь скомпилировать свой код, он не может найти библиотеку и дать такие ошибки:
g++ -L/home/randomuser/IBMCplex/cplex/lib/x86-64_linux/static_pic -L/home/randomuser/IBMCplex/concert/lib/x86-64_linux/static_pic -o "CplexTest"./src/CplexTest.o -L/home/randomuser/IBMCplex/concert/lib/x86-64_linux/static_pic/libconcert.a/usr/bin/ld: cannot find -L/home/randomuser/IBMCplex/concert/lib/x86-64_linux/static_pic/libconcert.a collect2: error: ld returned 1 exit status makefile:45: recipe for target 'CplexTest' failed make: *** [CplexTest] Error 1
Может ли кто-нибудь вести меня, что мне здесь не хватает или что-то не так?
Параметр -l
для g++
не ожидает пути в качестве аргумента. Он ожидает имя библиотеки, из которой он будет формировать имя файла, добавляя lib
, добавляя .a
(или .so
для динамической библиотеки), а затем ищите это имя файла в путях, указанных в -l
.
Итак, при вводе имени вашей библиотеки вместо использования полного пути /home/randomuser/IBMCplex/concert/lib/x86-64_linux/static_pic/libconcert.a
, вы должны просто ввести concert
(в командной строке это должно быть -lconcert
).