Добавление внешней библиотеки (Gurobi) в Eclipse C ++ - PullRequest
1 голос
/ 21 января 2020

Я хотел бы использовать Gurobi в проекте C ++, который у меня есть в Eclipse. Я пробовал несколько руководств / руководств (включая THIS о том, как сделать то же самое в Visual Studio), чтобы добавить файлы Gurobi с помощью Eclipse / G CC, но я просто не мог заставить его работать , Мне кажется, я недостаточно понимаю, как эти вещи должны работать в первую очередь.

В моей папке Gurobi у меня есть 3 папки, которые, на мой взгляд, важны: include (с файлами .h) , lib (с файлами .lib и NO .so или .a) и src (с файлами. cpp & .h).

include: я добавил путь к этому папка в Сборка C / C ++ -> Настройки -> G CC Компилятор C ++ -> Включает -> Включить пути , я думаю, это для компилятора, чтобы увидеть файлы .h , Я также добавил его в Общие сведения о C / C ++ -> Пути и символы -> Включает -> Включить каталоги , я полагаю, это для компоновщика, чтобы увидеть файлы .h.

lib: я впервые добавил путь к папке Сборка C / C ++ -> Настройки -> MinGW C ++ Linker -> Библиотеки -> Библиотеки (-l) , однако после поиска в Интернете, мне кажется, эта опция работает только для библиотек со стандартными именами и расширениями. Это также дало мне ошибку ld.exe: cannot find -lc:/gurobi900/win64/lib/, поэтому я удалил ее и добавил два пути файла .lib отдельно к Разное -> Другие объекты .

Я получил к точке, где #include "gurobi_c++.h" работает, однако, уже Eclipse подчеркивает линию, где я определяю объект GRBEnv (), который объявлен в include/gurobi_c++.h, но определен в src/cpp/Env.cpp. Также, если я пытаюсь скомпилировать, я получаю undefined reference ошибок. Это означает, что ни компоновщик, ни компилятор не могут видеть определение GRBEnv ().

Есть ли способ сообщить компоновщику / компилятору, где находятся файлы. cpp? Это происходит автоматически в зависимости от пути к папке include? Я должен связать файлы .lib или. cpp?

Я был бы очень признателен, даже если бы кто-то просто указал на ошибки в моем понимании.

...