Odziedziczyłem kilka plików C++ i towarzyszącą im plik makefile, który próbuję wprowadzić do VS2010 jako rozwiązanie. Stworzyłem pusty projekt i dodałem odpowiednie pliki w C++ i nagłówku (.hpp) dla jednego z celów plików Makefile.Błąd kompilacji cmath podczas kompilowania starego kodu C++ w VS2010
Kiedy próbuję skompilować projekt, jednak od razu uzyskać dużą liczbę C2061 (składnia identyfikatora błędu) błędów pochodzących z cmath dotyczące acosf, asinf, atanf itp
Linia błąd w 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;
górny blok pliku istotne C++ (choć nazwany jako .C):
#include <fstream>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
Obserwowani przez głównego function(), która nie wymaga żadnej z trygonometrycznych działa bezpośrednio. To musi być coś naprawdę oczywistego, ale tęsknię za tym. Czy ktoś może pomóc?
Dzięki!
Właściwie, myślę, że większość kompilatorów będzie kompilować pliki .C jako C++, jeśli system plików rozróżnia wielkość liter. Ale w systemie Windows system plików nie rozróżnia wielkości liter. Więc możesz być tutaj na czymś. –
cóż, testowałbym go, gdybym miał zainstalowane okno w pobliżu :). Wiem, że możesz określić kompilację jako ... ustawienie w visual studio, ale nie wiem, jak "odgaduje" wartość początkową (opartą na projekcie, opartą na plikach, ...). – KillianDS
jego pliki oparte na rozszerzeniu - .c lub .C kompilowane jako C, a .cpp /. CPP lub dowolna inna odmiana jest kompilowana jako pliki CPP w visual studio. Nie kompiluje się jako CPP, jak myśli autor, kompiluje się jako C. Podobnie jak mieszane inkluzje nagłówków C/CPP, nie jest to zabójca. –