Ho ereditato alcuni file C++ e un makefile associato, che sto cercando di introdurre in VS2010 come soluzione. Ho creato un progetto vuoto e aggiunto i file C++ e header (.hpp) appropriati per uno dei target makefile.durante la compilazione del vecchio codice C++ in VS2010
Quando provo a compilare il progetto, però, ho subito ottenere un gran numero di C2061 (sintassi identificatore errore) gli errori provenienti da cmath riguardanti acosf, asinf, atanf, ecc
La linea di errore di 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;
il blocco superiore del file in questione C++ (se nominato come .C):
#include <fstream>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
Seguita dalla funzione main(), che non richiede nessuna delle trig funzioni direttamente. Questo deve essere qualcosa di ovvio, ma mi manca. Qualcuno può aiutare?
Grazie!
In realtà, penso che la maggior parte dei compilatori compilare file .C come C++ se il file system fa distinzione tra maiuscole e minuscole. Ma in Windows, il file system non è case sensitive. Quindi potresti essere su qualcosa qui. –
beh, lo testerei se avessi una installazione di Windows nelle vicinanze :). So che puoi specificare la compilazione come ... impostazione in Visual Studio, ma non so come "indovina" il valore iniziale (basato su progetto, basato su file, ...). – KillianDS
la sua estensione basata - i file .c o .C vengono compilati come C, e .cpp/.CPP o qualsiasi altra variante è compilata come file CPP, in Visual Studio. Non si compila come CPP come pensa l'autore, si sta compilando come C. Per quanto riguarda le inclusioni di intestazione C/CPP miste, non è un killer. –