Tôi đã thừa hưởng một vài tệp C++ và một tệp makefile đi kèm, mà tôi đang cố gắng đưa vào VS2010 làm giải pháp. Tôi đã tạo một dự án trống và thêm các tệp C++ và tiêu đề (.hpp) thích hợp cho một trong các mục tiêu makefile.Lỗi biên dịch cmath khi biên dịch mã C++ cũ trong VS2010
Khi tôi cố gắng biên dịch dự án, tuy nhiên, tôi ngay lập tức nhận được một số lượng lớn các C2061 (cú pháp nhận dạng lỗi) lỗi đến từ cmath về acosf, asinf, atanf vv
Dòng lỗi trong 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;
khối đỉnh có liên quan C++ file (mặc dù đặt tên như một .C):
#include <fstream>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
Tiếp theo là() chức năng chính, mà không gọi cho bất kỳ của trang điểm chức năng trực tiếp. Điều này phải là một cái gì đó thực sự rõ ràng, nhưng tôi đang thiếu nó. Có ai giúp được không?
Cảm ơn!
Thực ra, tôi nghĩ hầu hết các trình biên dịch sẽ biên dịch các tệp .C dưới dạng C++ nếu hệ thống tệp phân biệt chữ hoa chữ thường. Nhưng trong Windows, hệ thống tệp không phân biệt chữ hoa chữ thường. Vì vậy, bạn có thể được vào một cái gì đó ở đây. –
tốt, tôi sẽ kiểm tra nó nếu tôi đã có một cửa sổ cài đặt gần đó :). Tôi biết bạn có thể chỉ định các biên dịch như ... thiết lập trong studio trực quan, nhưng tôi không biết làm thế nào nó 'đoán' giá trị ban đầu (dự án dựa trên, tập tin dựa, ...). – KillianDS
các tệp mở rộng dựa trên - .c hoặc .C biên dịch dưới dạng C và .cpp/.CPP hoặc bất kỳ biến thể nào khác được biên dịch dưới dạng tệp CPP, trong studio trực quan. Nó không biên dịch như CPP như tác giả nghĩ, nó được biên dịch như C. Đối với các phần tiêu đề hỗn hợp C/CPP, nó không phải là một kẻ giết người. –