Настройка NLOpt при работе из командной строки windows cmd

Я пишу программу на C ++ из командной строки Windows cmd и компилирую с помощью mingw (g++). Эта программа нуждается в нелинейном оптимизаторе и NLOpt выглядит как хороший выбор. Я изучил c ++ для курса Uni, поэтому среда, которую я использовал, уже была настроена, у меня нет опыта в настройке библиотек и т. Д.

До сих пор мои шаги были;

  1. Загрузите предварительно скомпилированные библиотеки DLL для 64-битных окон (именно это я и запускаю) из Вот.

  2. Запустите команду dlltool --input-def libnlopt-0.def --dllname libnlopt-0.dll --output-lib libnlopt-0.lib (от та же страница), который работал без ошибок.

Это создает файл .hpp, однако, когда я пытаюсь #include файл, который я получаю

In file included from optimiseDogs.cc:9:0:
C:\Files|Development\NLOpt2.4.2\nlopt.hpp:29:19: fatal error: nlopt.h: Nosuch file or directory
#include <nlopt.h>

nlopt.h а также nlopt.hpp находятся в одном каталоге друг с другом. Моя программа находится в другой папке.
изображение настройки папки

Это, наверное, очень просто, извините, что беспокою вас. Возможно, я не совсем одинок в своем невежестве, и это поможет кому-то еще. Кроме того, я видел этот вопрос, но это касается установки на Visual Basic, и я не использую графический интерфейс, просто notepad ++ и приглашение cmd.

Спасибо за помощь.

1

Решение

Если вы находитесь в windows и используя mingw: скачанный zip архив уже содержит .dll а также .lib файлы. Так что вам не нужно бежать dlltool который создает эти .lib,.dll от .def, Я думаю, что ваша проблема компиляции команды с помощью g++ добавление директив include и path к библиотекам.

C:\Files\Development\NLOpt2.4.2>g++ <path_of_source>.cc -o program.exe -L. -lnlopt -lm -I. -I<path_of_your_headers>

В прошлом я считал, что -I а также -L может иметь значение, поэтому попробуйте изменить, если не работает.
Посмотри пожалуйста этот тут а также что тут понять концепцию.

0

Другие решения


По вопросам рекламы [email protected]