Mik*_*ley 10 c++ visual-studio-2010 cmath
我继承了一些C++文件和一个附带的makefile,我试图将其作为解决方案引入VS2010.我创建了一个空项目,并为其中一个makefile目标添加了适当的C++和头文件(.hpp).
但是,当我尝试编译项目时,我立即从cmath获得了大量关于acosf,asinf,atanf等的C2061(语法错误标识符)错误.
cmath中的错误行:
#pragma once
#ifndef _CMATH_
#define _CMATH_
#include <yvals.h>
#ifdef _STD_USING
#undef _STD_USING
#include <math.h>
#define _STD_USING
#else /* _STD_USING */
#include <math.h>
#endif /* _STD_USING */
#if _GLOBAL_USING && !defined(RC_INVOKED)
_STD_BEGIN
using _CSTD acosf; using _CSTD asinf;
Run Code Online (Sandbox Code Playgroud)
相关C++文件的顶部块(虽然命名为.C):
#include <fstream>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
Run Code Online (Sandbox Code Playgroud)
接下来是main()函数,它不直接调用任何trig函数.这必须是非常明显的事情,但我很想念它.有人可以帮忙吗?
谢谢!
Kil*_*nDS 13
你确定它正在编译为C++吗?大多数编译器将.C文件编译为C和.cpp文件作为C++,使用C编译器编译C++文件可能会失败.
此外,该代码混合了oldstyle('c')标头和newstyle('c ++')标头.它应该更像这样(我怀疑这是错误).
#include <fstream>
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;
Run Code Online (Sandbox Code Playgroud)
这就是我所能看到的所有内容.但是大多数情况下,当你在C/C++本身的库文件中出错时,它仍然是你的代码在某处错了,比如忘记了; 在头文件中的类语句之后.
它可能不会编译为 C++ 代码 - 正如您所假设的。我会要求你在 vs2010 中右键单击文件,单击属性,转到“配置属性 - C/C++ - 高级”,并确保“编译为”设置为“编译为 C++ 代码(/TP)” '.. 如果没有,将其更改为那个,然后重新编译 .. 您可能需要重新创建您的预编译头文件,但我将解决您的“问题”;)
| 归档时间: |
|
| 查看次数: |
18617 次 |
| 最近记录: |