【问题标题】:ld: entry point (start) undefined. Usually in crt1.o for architecture x86_64ld:入口点(开始)未定义。通常在 crt1.o 中用于架构 x86_64
【发布时间】:2015-06-05 06:48:34
【问题描述】:

我已经为我的终端编写了一个简单的 hello world 函数来编译并且我不断得到

    587216304:EECS280 jacobmyers$ g++ hello.cpp -o hell
    ld: entry point (start) undefined.  Usually in crt1.o for architecture x86_64
    collect2: error: ld returned 1 exit status

我使用的是 gcc 版本 4.9.2,我在网上找不到任何可以为我解决此问题的东西。我很确定它与编译的 I/O 有关。

还有,这是证明我可以写一个简单的hello world函数的代码,应该不错哈哈

    #include <iostream>
    #include <string>

    using namespace std;


    int main()
    {
        cout<<"hello world";

    return  0;
    }

提前致谢!

【问题讨论】:

  • 可能是因为-o hell。别开玩笑了,你的程序中有main 吗?您发布的示例是否编译和链接?
  • 你的开发环境坏了(可以重新安装)
  • 如何重新安装?
  • 这取决于您的操作系统。
  • 我正在使用 OSX Yosemite,版本 10.10

标签: c++ xcode gcc osx-yosemite


【解决方案1】:

嗯,for architecture x86_64 说。
尝试用-m32编译:g++ hello.cpp -o hello -m32

另外,我注意到您使用的是 GCC 4.9.2。我使用 GCC 4.9.1 编译了完全相同的代码(只是复制粘贴),它完美地编译和执行。

更新: 偶然发现:OSX-GCC-Installer
卸载当前的 GCC 并下载the installer 并安装它!用那个试试,我自己用过,很好用。

【讨论】:

  • 你能告诉我你的开发环境是什么吗? (操作系统、硬件等...)
  • OSX Yosemite,版本 10.10
  • 是的,我自己使用 OSX Yosemite,使用 GCC 4.9.1。您使用的是 Apple 的 Xcode 命令行工具,其中包括 GCC,对吧?
  • 是的,我已经尝试安装并重新安装了多次
  • 老实说,计算机很棒,但有时会让人头疼。我不知道比我已经建议的更进一步。
猜你喜欢
  • 1970-01-01
  • 2013-10-10
  • 2022-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-09
相关资源
最近更新 更多