我有以下CMakeLists将glew包含在我的项目中。编译项目工作正常,但是当我运行项目时,我得到一个错误,说程序找不到glew32.dll。任何想法为什么??谢谢你的回答!
set(CMAKE_PREFIX_PATH "${CMAKE_SOURCE_DIR}/external/glew-1.12.0")
set(CMAKE_LIBRARY_PATH "${CMAKE_SOURCE_DIR}/external/glew-1.12.0/lib/Release/Win32/")
find_package(GLEW REQUIRED)
if(GLEW_FOUND)
message("GLEW Found!")
include_directories(${GLEW_INCLUDE_DIRS})
link_libraries(${GLEW_LIBRARIES})
add_definitions(${GLEW_DEFINITIONS})
else(GLEW_FOUND)
message(FATAL_ERROR "GLEW NOT Found")
endif(GLEW_FOUND)
add_executable(Project ${CODE})
target_link_libraries(Project ${GLEW_LIBRARIES})
答案 0 :(得分:1)
您需要在您的环境的PATH变量中找到glew32.dll
所在的目录。如果您正在使用MSVC,请在应用的属性页中设置Environment
文本框:
PATH=<dir-of-glew32.dll>;%PATH%
如果您从shell运行,请在命令行上发出相同的命令。
另一种选择是使用GLEW
作为静态库。在这种情况下,您将不需要glew32.dll
,整个glew库将链接到您的程序。查看GLEW github repository并研究脚本cmake-testbuild.sh
,了解如何将GLEW用作静态库。
请注意,GLEW github repository不包含某些生成的文件。如果您无法在平台上运行make extensions
,请使用此存储库:glew-with-extensions已包含生成的文件。