【问题标题】:Eclipse C++ on OSX Cant BuildOSX 上的 Eclipse C++ 无法构建
【发布时间】: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 的定义。你确定你在编译之前保存了这个文件吗?

标签: c++ eclipse macos


【解决方案1】:

您提到您刚刚安装了 XCode。如果您希望开始使用 C++ 编程,与使用 Eclipse 相比,使用 XCode 将使您的体验更令人满意并且学习曲线更快。 XCode 是 Mac 上的“原生”IDE。

话虽如此,我知道使用 Eclipse 可能是有原因的,例如如果您希望在不久的将来开始在非 Apple 平台上进行编程,或者想熟悉 Eclipse 作为 IDE 来进行 Android 编程。但是,如果您打算使用 Mac 一段时间并想更快地学习 C++,我强烈建议您坚持使用 XCode。

现在,您显示的错误可能是因为文件尚未保存,正如其中一位评论者所建议的那样。如果 main() 丢失,这正是你得到的错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-09
    • 2019-04-01
    • 1970-01-01
    • 2023-04-07
    • 2023-03-30
    • 2012-06-01
    • 1970-01-01
    相关资源
    最近更新 更多