Linux, C ++, Lua 5.3, Cmake, неопределенная ссылкаC++

Программы на C++. Форум разработчиков
Anonymous
Linux, C ++, Lua 5.3, Cmake, неопределенная ссылка

Сообщение Anonymous »

Я пытаюсь использовать LUA в моей программе C ++. Моя ОС - Linux Manjaro 15.12. Я загрузил исходный код LUA 5.3 и собрал его как код C ++ (мне действительно нужна обработка исключений вместо longjmp), с этой строкой: < /p>

Код: Выделить всё

make "CC=g++" linux
Тогда sudo сделать установку , чтобы установить Lua в/usr/local. Все выглядит нормально. Моя версия Cmake, кажется, обновляется: < /p>

Код: Выделить всё

cmake --version
cmake version 3.4.1
< /code>
В моем файле Cmake я нахожу Lua, как это: < /p>
find_package(Lua REQUIRED)
include_directories(${LUA_INCLUDE_DIR})

message("   *** Lua include: ${LUA_INCLUDE_DIR}")
message("   *** Lua lib: ${LUA_LIBRARIES}")
< /code>
После запуска этой команды: < /p>
cd build
cmake -G "Unix Makefiles" ..
Папка «Включение» должным образом обнаруживается в/usr/local/include, но сама библиотека находится как/USR/lib64/liblua5.1.so ;/USR/lib64/libm.so, который не является инсталляцией, которую я сделал (и ее версия 5.1, я хочу 5.3). Cmake говорит:

Нашел lua:/usr/lib64/liblua5.1.so ;/usr/lib64/libm.so (найденная версия "5.3.2")

это, как это, это «микс, смесится». Запуск сделать бросает много неопределенных ссылок. Ранее в моем файле Cmake я нахожу другие библиотеки (SDL2, составленные мной, OpenGL, GLEW), и они, кажется, работают. Единственные ошибки, которые я получил, - это библиотека Lua. Конечно, я добавляю библиотеки в мою команду target_link_libraries
Как это исправить? (Мне все равно, если мне нужно устранить более старую версию LUA, если она не сломает мою ОС).

Подробнее здесь: https://stackoverflow.com/questions/347 ... -reference

Вернуться в «C++»