已正常安装Qt5但无法链接CGAL::CGAL_Basic_viewer求助
解决CGAL::CGAL_Basic_viewer无法链接的问题
问题背景


CMake可正常识别CGAL_Qt5,但在CMakeLists.txt中使用以下语句时,无法正常链接CGAL::CGAL_Basic_viewer:
target_link_libraries(draw_polygon PUBLIC CGAL::CGAL_Basic_viewer)
CMake提示片段:
Target "draw_polygon" links to target "CGAL::CGAL_Basic_viewer" but the
已尝试过重新安装Qt5、CGAL,以及安装GMP、MPFR、Boost依赖,现有相关讨论无法解决问题。
可行的解决方法
- 检查CGAL编译配置:
CGAL_Basic_viewer属于CGAL的Qt相关模块,部分预编译包默认未启用该模块。若为源码编译CGAL,需在CMake配置阶段勾选CGAL_BUILD_QT5和CGAL_BUILD_BASIC_VIEWER选项,同时确保Qt5的Core、Gui、Widgets组件被正确检测。 - 调整链接顺序:
确保先链接核心CGAL库及CGAL_Qt5,再添加Basic_viewer依赖,示例:target_link_libraries(draw_polygon PUBLIC CGAL::CGAL CGAL::CGAL_Qt5 CGAL::CGAL_Basic_viewer) - 尝试兼容旧版target命名:
部分旧版CGAL的target无命名空间,可尝试去掉CGAL::前缀:target_link_libraries(draw_polygon PUBLIC CGAL_Basic_viewer) - 验证CGAL的CMake配置文件:
找到CGAL安装目录下的CGALConfig.cmake或CGALTargets.cmake,确认其中存在CGAL::CGAL_Basic_viewer的target定义。若不存在,说明CGAL未编译该模块,需重新编译并启用对应选项。
内容的提问来源于stack exchange,提问作者蔡皓宇
相关产品推荐
相关产品推荐

