【发布时间】:2016-06-14 08:16:11
【问题描述】:
我是编码和 C++ 新手,刚刚在我的计算机上安装了 C++ 和 XCode。我已将 Mac OSX GCC 设为我的首选工具链。
我什至无法运行一个简单的 Hello World 程序,我真的需要一些帮助,我之前发布过并环顾四周,但似乎没有任何帮助。
代码:
#include <iostream>
using namespace std;
int main() {
cout << "Hello world \n";
return 0;
}
点击全部构建后出错:
12:38:22 **** Incremental Build of configuration Debug for project Test1 ****
make all
Building file: ../test.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"test.d" -MT"test.o" -o "test.o" "../test.cpp"
Finished building: ../test.cpp
Building target: Test1
Invoking: MacOS X C++ Linker
g++ -o "Test1" ./test.o
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)
make: *** [Test1] Error 1
12:38:37 Build Finished (took 15s.286ms)
【问题讨论】:
-
您可能应该提及您是哪个版本的 max OS X。这一点很重要,因为如今默认的 c++ 编译器是 clang 而不再是 gnu (g++)。
-
我在 OSX El Capitan 10.11.3
-
查看您的屏幕截图,我注意到该文件被标记为未保存。如果您在第一次保存后添加了 main 函数,然后尝试在不保存的情况下重新编译,您将收到此错误,因为可执行文件必须具有 main 的定义。你确定你在编译之前保存了这个文件吗?