按指定教程编译CGAL时,构建CGAL.sln文件失败求助
解决CGAL 4.9.1构建Win32 Debug配置时的错误
首先明确你的问题场景:
我按照指定步骤编译CGAL 4.9.1,在构建CGAL项目的Debug Win32配置时遇到错误,错误输出如下:
1>------ Build started: Project: CGAL, Configuration: Debug Win32 ------ 1> Building Custom Rule C:/dev/CGAL-4.9.1/src/CGAL/CMakeLists.txt 1> CMake does not need to re-run because C:\dev\CGAL-4.9.1\build\src\CGAL\CMakeFiles\generate.stamp is up-to-date. 1> all_files.cpp 1> Creat...
下面是几个针对性的排查和解决方向:
先获取完整错误日志:当前的错误输出明显被截断了,只显示到
Creat...。你可以打开Visual Studio的选项(工具 -> 选项 -> 项目和解决方案 -> 生成并运行),把「MSBuild项目生成输出详细程度」改成「详细」,然后重新构建一次,这样就能看到完整的错误信息——比如是文件创建失败、依赖缺失还是内存不足,这是定位问题的核心前提。重新走一遍CMake配置流程:虽然CMake提示生成文件是最新的,但可能之前的配置有遗漏。你可以直接删掉
C:\dev\CGAL-4.9.1\build整个目录,重新用CMake生成.sln文件:- 生成时务必选择Win32 Debug配置,和后续构建的配置严格一致;
- 在CMake界面里仔细检查Boost、GMP、MPFR这些核心依赖是否都被正确检测到,CGAL完全依赖这些库,找不到的话肯定会构建失败;
- 先别着急勾选构建示例、测试等选项,先只构建CGAL核心库,排除额外因素干扰。
排查文件权限和磁盘问题:错误开头是
Creat...,很大概率是创建输出文件或临时文件时出了问题:- 右键Visual Studio图标,选择「以管理员身份运行」,避免权限不足导致无法写入build目录;
- 检查build目录所在磁盘的剩余空间,编译CGAL需要不少临时空间,确保磁盘没有满;
- 确认
all_files.cpp或者build目录下的文件没有被杀毒软件、文件管理器等程序锁定。
检查VS版本兼容性:CGAL 4.9.1是2017年的版本,建议用Visual Studio 2015或2017来构建。如果用的是2019及以上的高版本VS,可能会因为编译器语法规则变化导致编译中断,换个适配的VS版本试试。
内容的提问来源于stack exchange,提问作者n.m
相关产品推荐
相关产品推荐

