【发布时间】:2016-12-15 04:01:23
【问题描述】:
我正在尝试将 GA 库 (GALib) 添加到我的无错误程序中,当我添加它时,编译器会返回奇怪的错误并重复它们很多次......例如,“语法错误:缺少' {' before '
template<class _Ty>
_Check_return_ inline _Ty _Pow_int(_Ty _Xx, int _Yx) _NOEXCEPT
{
unsigned int _Nx;
if (_Yx >= 0)
_Nx = static_cast<unsigned int>(_Yx);
else
_Nx = static_cast<unsigned int>(-_Yx);
for (_Ty _Zx = static_cast<_Ty>(1); ; _Xx *= _Xx)
{
if ((_Nx & 1) != 0)
_Zx *= _Xx;
if ((_Nx >>= 1) == 0)
return (_Yx < 0 ? static_cast<_Ty>(1) / _Zx : _Zx);
}
}
错误在 cmath.h 同一行的错误重复了 25 次左右。其他许多人也是如此。 (提到的错误是列表中的第一个错误) PS。我使用以下顺序添加了 GA 文件: 1-项目属性>C++>其他包含库>选择文件夹 2-将包含标题和源的文件夹拖放到项目解决方案管理器 聚苯乙烯。所有源文件的扩展名都是 .C 而不是 .cpp 我该如何解决这种情况?
【问题讨论】:
-
@Vality 这是标准库代码。
-
@Peet 它们应该是 C++ 还是 C 源文件?可能该库使用 .C(大写 C)表示 C++,但由于 Windows 不区分大小写,因此将 .C 与 .c 视为 C 相同。
-
@immibis 我在写这个问题的时候一直在思考这个问题,所以我回到了 GA 库的文档,发现:“设置开发环境以在 .C 文件上使用 C++ 编译器(这是 MS Visual C++ 中的 /TP 标志)。在 Visual C++ 中启用 RTTI。“虽然不知道该怎么做...仍在搜索
-
库使用 .c 作为 c++ 代码的扩展是非常愚蠢的。
-
@Peet 在源文件的属性中有一个选项。
标签: c++ visual-studio compiler-errors