Связывание SCIP с существующим проектом

Я пытался использовать SCIP в личном проекте. Мне удалось скомпилировать хорошо scipoptsuite-3.2.1 (даже если полученная папка находится в моей папке Download, потому что я неряшливый), но я не могу заставить ее работать.

Я работаю над Eclipse CDT, я могу просто связать заголовки, функции распознаются, но у меня есть неопределенные ссылки повсюду. Однако, когда я пытаюсь связать библиотеку scip (libscip.a), у меня появляется следующая ошибка:

/usr/bin/ld: /home/myusername/Downloads/scipoptsuite-3.2.1/scip-3.2.1/lib/libscip.a(fileio.o): undefined reference to symbol 'gzdopen'
//lib/x86_64-linux-gnu/libz.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [Segmentation_2D] Error 1

Чтобы решить эту проблему, я добавил команду -lz, но … Это тоже не работает.

  • Если я буду ссылаться так: -lscip -lz -> Компиляция начинается бесконечным циклом
  • Если я так ссылку: -lz -lscip -> DOS отсутствует
  • Если я буду ссылаться так: -lz -lscip -lz -> Компиляция начинается в бесконечном цикле

Я просто не знаю, что попробовать дальше, любая помощь будет оценена.

Спасибо

РЕДАКТИРОВАТЬ —

Теперь я переделал установку, используя флаги ZLIB = false, READLINE = false и ZIMPL = false. Я также использовал команду INSTALLDIR = «» для правильного размещения библиотек, заголовков и двоичных файлов в моей системе (для этого мне пришлось отредактировать Makefile, так как он изначально ссылался на ../thePath, с thePath = «/ usr / local «, например).

Тем не менее, это все еще не работает. То, что я считал бесконечным циклом, на самом деле является огромным количеством ошибок (более 13 000), которые кажутся неразрешенными вызовами каждой функции. (Сейчас я компилирую только с -lscip).

Что я могу сделать сейчас ?

0

Решение

К несчастью, libscip неправильная библиотека для вашего приложения. Вы должны скорее использовать libscipopt изнутри lib/ каталог пакета оптимизации SCIP (запустить make scipoptlib).

libscip содержит только чистый код SCIP и будет работать только вместе с

  • liblpi{spx,cpx,...} иметь решатель LP
  • libnlpi иметь НЛП решатель
  • libobjscip для поддержки C ++

libscipopt предполагается объединить все эти библиотеки в одну для более легкого использования.

0

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

Других решений пока нет …

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