2014-10-07 2 views
0

При реализации CMake в моем коде я получаю сообщение об ошибке огров:Ogre Ошибка в CMake

/usr/bin/ld: cannot find -lOGRE 

Мой файл CMakeLists.txt выглядит следующим образом:

#Specify the version being used aswell as the language 
cmake_minimum_required(VERSION 2.6) 

#Name your project here 
project(eCAD) 

#sets cmake to run moc when needed 
set(CMAKE_AUTOMOC ON) 

#find requirements of this projects 
find_package(Qt5Widgets) 
find_package(Qt5Core) 
find_package(OGRE) 
find_package(OIS) 
# Find includes in corresponding build directories 
set(CMAKE_INCLUDE_CURRENT_DIR ON) 

#Sends the -std=c++11 flag to the gcc compiler 
add_definitions(-std=c++11) 

qt5_wrap_ui(Cmake_form_hdr resources/ui/mainwindow.ui) 

#This tells CMake to main.cpp and name it eCAD 
add_executable(eCAD main.cpp ${Cmake_form_hdr}) 

#include the subdirectory containing our libs 
add_subdirectory (gui) 
include_directories(gui) 

#link_libraries 
target_link_libraries(eCAD Qt5::Widgets Qt5::Core OGRE OIS) 

Я новичок в этом. Пожалуйста, помогите мне решить эту проблему.

ответ

1

Команда find_package(OGRE) запускает файл FindOGRE.cmake и устанавливает переменные OGRE_INCLUDE_DIRS и OGRE_LIBRARIES. Для связи с библиотекой OGRE вы должны использовать эти переменные, например.

target_include_directories(eCAD PRIVATE ${OGRE_INCLUDE_DIRS}) target_link_libraries(eCAD ${OGRE_LIBRARIES})

Это же для всех внешних библиотек, которые вы используете.

+0

Даже после добавления этой ошибки остается та же. – user3859872

+0

Что дает вам 'MESSAGE ($ {OGRE_LIBRARIES})'? – Peter

+0

С помощью этого получилась ошибка: сообщение с неправильным количеством аргументов – user3859872

Смежные вопросы