CMake无法找到Findglfw3.cmake?Windows下GLFW链接问题求助
解决GLFW预编译包在CMake中无法找到的问题
问题根源
你从官网下载的Windows预编译GLFW包,CMake所需的glfw3Config.cmake并不在_GLFW根目录下,而是存放在对应CPU架构的子文件夹里(比如64位版本在lib/x64/cmake/glfw3路径下),这就是之前设置路径无效的原因。
解决方案一:修正find_package的路径指向
修改CMakeLists.txt中glfw3_DIR的路径,指向包含glfw3Config.cmake的文件夹:
# 先设置正确的GLFW配置文件路径(替换为你实际的架构子目录,这里以x64为例) set(glfw3_DIR "D:/XProject/Dependencies/_GLFW/lib/x64/cmake/glfw3") find_package(glfw3 REQUIRED) add_executable(YEngine main.cpp) target_link_libraries(YEngine GLEW::GLEW glfw)
解决方案二:手动指定头文件与库路径(绕过find_package)
如果不想依赖CMake的配置文件机制,可以直接手动配置GLFW的头文件和库文件:
find_package(GLEW REQUIRED) add_executable(YEngine main.cpp) # 添加GLFW头文件目录 target_include_directories(YEngine PRIVATE "${CMAKE_SOURCE_DIR}/Dependencies/_GLFW/include") # 链接GLFW库(注意根据你使用的架构选择x64/x86下的lib文件) target_link_libraries(YEngine GLEW::GLEW "${CMAKE_SOURCE_DIR}/Dependencies/_GLFW/lib/x64/glfw3.lib")
补充说明
GLEW的预编译包之所以无需额外设置,是因为它的CMake配置文件存放在根目录或CMake默认搜索路径内,而GLFW的预编译包将配置文件按架构分类存放,必须指定到具体的子目录才能被CMake识别。
内容的提问来源于stack exchange,提问作者AdmittingDefeat
相关产品推荐
相关产品推荐

