0 / 0 / 0
Регистрация: 30.01.2013
Сообщений: 13
|
||||||
1 | ||||||
Статическая линковка glew16.11.2018, 12:47. Показов 3328. Ответов 4
Делаю уроки по opengl.
Как сделать так чтобы библиотека glew, была включена в исполняемый файл. Чтобы он запускался без необходимости ложить рядом glew32.dll или копировать ее в system32. Редактор CLion, Windows Код урока по созданию окна:
cmake_minimum_required(VERSION 3.12)
0
|
16.11.2018, 12:47 | |
Ответы с готовыми решениями:
4
Статическая линковка Статическая линковка Статическая линковка Статическая линковка MinGW |
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
|
16.11.2018, 12:57 | 2 |
pistonio, по порядку, для начала я бы добавил такое в CMakeLists
Код
find_package(glfw3 REQUIRED) ... #потом линкуем target_link_libraries(${PROJECT_NAME} glfw) #статически добавляем GLEW add_library(glew STATIC IMPORTED GLOBAL) ... #и линкуем target_link_libraries(${PROJECT_NAME} libglew32.a) CMAKE_EXE_LINKER_FLAGS и все добавлял через target_link_libraries . И да следите за порядком, у меня выше порядок хаотичный, Вы же себе упорядочите, должно работать.
0
|
1659 / 488 / 106
Регистрация: 17.05.2015
Сообщений: 1,493
|
|
16.11.2018, 12:59 | 3 |
Код
find_package(GLEW REQUIRED) if (GLEW_FOUND) include_directories(${GLEW_INCLUDE_DIRS}) link_libraries(${GLEW_LIBRARIES}) endif() В этом случае нужно подсказать ищейке find_package(GLEW REQUIRED) где ещё её можно найти. Например так: Код
set(CMAKE_PREFIX_PATH "d:/libs/glew-1.10.0") set(CMAKE_LIBRARY_PATH "d:/libs/glew-1.10.0/lib/Release/Win32/") find_package(GLEW REQUIRED) if (GLEW_FOUND) include_directories(${GLEW_INCLUDE_DIRS}) link_libraries(${GLEW_LIBRARIES}) endif()
1
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
|
16.11.2018, 13:09 | 4 |
поправочка к моему посту
Код
add_library(glew_static STATIC IMPORTED) set_target_properties(glew_static PROPERTIES IMPORTED_LOCATION сюда_пишем_полный_путь_к libglew32.a) target_link_libraries(${PROJECT_NAME} glew_static)
1
|
16.11.2018, 17:30 | 5 | |||||
GLEW - эта очень старая библиотека и она включает в себя весь устаревший функционал примерно с 1991 года.
С помощью этого сайта: https://glad.dav1d.de/ можно сгенерировать Core Profile для 3+ куда не будет входить deprecated/legacy функционал. Эта библиотека подключается как папка include + один файл с исходным кодом. Весит 150 КБайт, а не 3.7 МБайт, как GLEW. glad-ogl-3.1-core.zip Файл glad.c нужно включить в проект. Так эта библиотека используется:
1
|
16.11.2018, 17:30 | |
16.11.2018, 17:30 | |
Помогаю со студенческими работами здесь
5
SFML, статическая линковка Статическая линковка в CMake и VC++ Статическая линковка boost Статическая линковка библиотек Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |