在C ++模式下将'c'输入视为'c ++'

时间:2018-10-28 19:48:52

标签: c g++

很抱歉,我在大学里写作业,我需要用C语言编写程序,但是当我在Mac OS上开始学习时(我在学校使用OpenSolaris,我认为),我遇到了这个问题,我可以解决吗不用Unix安装吗?

控制台输出:screenshot

MBP-Maxim:cv01 maxim$ g++ main.c 

clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]

Undefined symbols for architecture x86_64:

  "_main", referenced from:
implicit entry/start for main executable


ld: symbol(s) not found for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

2 个答案:

答案 0 :(得分:1)

您有两个问题:

  1. CLASSPATH是C ++编译器。您的源文件是C,而不是C ++。使用g++编译C源代码。

  2. 您要编译的文件没有gcc函数,该函数是生成可执行文件所必需的。写一个。

答案 1 :(得分:0)

只需详细说明@ duskwuff-inactive-回复

对于这样的警告clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]

在使用main.c编译器进行编译或将main.cpp编译器用于main.cc时,您的文件名为g++而不是gccmain.c。 / p>