Ubuntu22.04下CMake无法链接glfw3库的问题求助
问题根源
Ubuntu 22.04 下通过libglfw3-dev安装的GLFW库,实际链接库名称是glfw而非glfw3——系统中不存在libglfw3.so这个库文件,这是链接器报错cannot find -lglfw3的核心原因。
同时你在target_link_libraries中同时指定${GLFW_LIBRARIES}和glfw3属于重复操作:find_package(GLFW REQUIRED)已经自动配置好了正确的库链接变量,额外手动添加glfw3反而引入了错误的链接指令。
解决步骤
确认系统GLFW库文件
执行命令查看已安装的GLFW库:ls /usr/lib/x86_64-linux-gnu/libglfw*正常输出类似:
/usr/lib/x86_64-linux-gnu/libglfw.so /usr/lib/x86_64-linux-gnu/libglfw.so.3 /usr/lib/x86_64-linux-gnu/libglfw.so.3.3可见确实没有
libglfw3.so,链接器无法找到-lglfw3对应的库。修正CMake链接配置
打开WorldServer目标的CMakeLists.txt,修改target_link_libraries,移除手动添加的glfw3,只保留${GLFW_LIBRARIES}:target_link_libraries(WorldServer # 其他依赖项... ${GLFW_LIBRARIES} )重新构建项目
删除现有build目录(若存在),重新执行CMake配置和编译:rm -rf build mkdir build && cd build cmake .. make
内容的提问来源于stack exchange,提问作者Venelin
相关产品推荐
相关产品推荐

