GLEW 与 CMakeLists

GLEW with CMakeLists

我有以下 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})

您需要在环境的 PATH 变量中找到可以找到 glew32.dll 的目录。如果您使用的是 MSVC,请在应用程序的 属性 页面中设置 Environment 文本框:

PATH=<dir-of-glew32.dll>;%PATH%

如果您 运行 来自 shell,请在命令行中发出相同的命令。

另一种选择是将GLEW用作静态库。在那种情况下,您将不需要 glew32.dll,整个 glew 库将链接到您的程序中。查看 GLEW github repository 并研究有关如何将 GLEW 用作静态库的脚本 cmake-testbuild.sh。 请注意,GLEW github repository 不包含某些生成的文件。如果您无法在您的平台上 运行 make extensions,请使用此存储库:glew-with-extensions,其中已包含生成的文件。