Я пытаюсь статически связать libtcod на мой проект C ++ без успеха. Я получаю много ошибок связывания, в том числе:
./ tuto: ошибка при загрузке общих библиотек: libtcodxx.so.1: не удается открыть общий объектный файл: нет такого файла или каталога
У кого-нибудь были подобные проблемы с этой библиотекой?
В текущем дистрибутиве libtcod (1.6.0) есть динамические библиотеки.
Вы можете связать libtcod динамически, но вам нужно создать символические ссылки:
cd / var / lib / libtcod ln -s libtcod.so libtcod.so.1 ln -s libtcodxx.so libtcodxx.so.1
Скомпилируйте с помощью следующей команды:
g ++ src / *. cpp -o tuto -I / var / lib / libtcod / include -L / var / lib / libtcod -ltcod -ltcodxx -Wl, -rpath = / var / lib / libtcod -Wall
Какие флаги вы используете при ссылке на библиотеку? Вы использовали -static
флаг, вы указали -ltcod
? Если нет, добавьте -static -ltcod
до конца командной строки.
Или вы можете сила скажите gcc связать со статической встроенной библиотекой:
gcc %YOUR_OTHER_FLAGS_ANDFILES% -l:libtcod.a -L%PATH_TO_TCOD_STATIC_BUILDED_FILE%