Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Ошибка компиляции CMake Ubuntu  (Прочитано 460 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн danil_erofienko

  • Автор темы
  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Ошибка компиляции CMake Ubuntu
« : 10 Февраль 2020, 11:17:03 »
Я собираю проект на Ubuntu, и у меня возникла проблема при обращении к библиотеке epoxylib.

/usr/bin/ld: CMakeFiles/DEngine.dir/main.cpp.o: неопределённая ссылка
на символ «epoxy_glVertex3fv» /usr/bin/ld:
/lib/x86_64-linux-gnu/libepoxy.so.0: ошибка добавления символов: в
командной строке не указан DSO collect2: error: ld returned 1 exit
status make[2]: *** [CMakeFiles/DEngine.dir/build.make:165: DEngine]
Ошибка 1 make[1]: *** [CMakeFiles/Makefile2:76:
CMakeFiles/DEngine.dir/all] Ошибка 2 make: *** [Makefile:84: all]
Ошибка 2


Мой CMakeLists.txt
cmake_minimum_required(VERSION 3.15)
project(DEngine VERSION 0.1)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -pthread -lGL -lglut")
include_directories("${PROJECT_SOURCE_DIR}")

set(SOURCE_FILES main.cpp)

add_executable(GLProject ${SOURCE_FILES})

find_package(PkgConfig REQUIRED)
find_package(OpenGL REQUIRED)
find_package(GLUT REQUIRED)

pkg_check_modules(GTK3 REQUIRED gtk+-3.0)

include_directories(${OPENGL_INCLUDE_DIRS} ${GLUT_INCLUDE_DIRS})

include_directories(${GTK3_INCLUDE_DIRS})
link_directories(${GTK3_LIBRARY_DIRS})

add_definitions(${GTK3_CFLAGS_OTHER})

target_link_libraries(DEngine ${GTK3_LIBRARIES} ${OPENGL_LIBRARIES} ${GLUT_LIBRARY})

Код взял от сюда: https://www.opengl.org/archives/resources/code/samples/glut_examples/examples/cube.c

Линковку библиотек проверял:
message(STATUS ${GTK3_LIBRARIES})
message(STATUS ${OPENGL_LIBRARIES})
message(STATUS ${GLUT_LIBRARY})

-- gtk-3gdk-3pangocairo-1.0pango-1.0atk-1.0cairo-gobjectcairogdk_pixbuf-2.0gio-2.0gobject-2.0glib-2.0
-- /usr/lib/x86_64-linux-gnu/libOpenGL.so/usr/lib/x86_64-linux-gnu/libGLX.so/usr/lib/x86_64-linux-gnu/libGLU.so
-- /usr/lib/x86_64-linux-gnu/libglut.so/usr/lib/x86_64-linux-gnu/libXmu.so/usr/lib/x86_64-linux-gnu/libXi.so

Оффлайн olej.tsil

  • Участник
  • *
  • Сообщений: 108
    • Просмотр профиля
Re: Ошибка компиляции CMake Ubuntu
« Ответ #1 : 10 Февраль 2020, 11:36:42 »
/usr/bin/ld: CMakeFiles/DEngine.dir/main.cpp.o: неопределённая ссылка
на символ «epoxy_glVertex3fv» /usr/bin/ld:
/lib/x86_64-linux-gnu/libepoxy.so.0
Как мне кажется, при самом поверхностном взгляде, что у вас проблема с ld, связанная с версиями библиотеки (совместимость снизу-вверх).

Код взял от сюда: https://www.opengl.org/archives/resources/code/samples/glut_examples/examples/cube.c
Ваш "пример" - 1997 года!!!
С OpenGL особенно - такие номера не проходят.

 

Страница сгенерирована за 0.085 секунд. Запросов: 25.