我在使用CGAL库进行三维建模的时候,编译器出现了
C2365“Gt": 重定义;以前的定义是”模板参数,
的错误,这个问题折腾了我两三天,当然这两三天也是有其他事情忙的。我原本以为是我的几何内核出现重定义了,但是我检查了好几遍,没有发现这个问题呀。可能会有人不明白为什么我去检查几何内核,其实这个GT就是Geometric Traits这两个词的缩写。
然后我去网上找了好多答案,根本就解决不了这个问题,然后我去谷歌查了一下(果然还是谷歌大法好呀),法线有几乎一模一样的问题和正确的解答。
原来是文件的编码格式和编译器的配置的问题,只需要将项目的文件编码格式设置为UTF-8即可。烦死了,怪不得我之前的环境跑同样的代码没问题,创建了新环境出现了这个该死的问题。
解决方法有两种方式
- 配置编译器以支持 UTF-8
如果你使用的是 Microsoft 编译器(MSVC),可以通过以下方式配置编译器以支持 UTF-8 编码:
1.在 Visual Studio 中设置编译器选项:
2.打开项目属性。
3.导航到 C/C++ -> 命令行。
4.在其他选项中 中添加 /utf-8 选项。
5.点击 OK 保存设置。 - 在Visual Studio 高级选项中设置文件编码格式
1.单击“文件”,在弹出的菜单选择“高级保存选项”
2.打开“高级保存选项”窗口,当前设置的编码为“UTF-8”
原答案与回答链接在这里 https://github.com/CGAL/cgal/issues/5844