【问题标题】:C++ Hello World trouble on OSX10.8OSX10.8 上的 C++ Hello World 问题
【发布时间】:2012-08-02 19:52:52
【问题描述】:

我的个人资料已更新以指向我认为正确的位置:

  PATH=${PATH}:/Applications/Xcode.app/Contents/Developer/usr/bin:${PATH}

找到编译器

[11:39:32] ~: $ which g++
/Applications/Xcode.app/Contents/Developer/usr/bin//g++
[11:39:35] ~: $ which gcc
/Applications/Xcode.app/Contents/Developer/usr/bin//gcc

Hello world 如下所示

#include <iostream>
using namespace std;

int main ()
{
  cout << "Hello World!";
  return 0;
}

无法从命令行和 TextMate 执行

[11:40:15] Desktop: $ g++ untitled.cpp 
untitled.cpp:1:20: error: iostream: No such file or directory
untitled.cpp: In function ‘int main()’:
untitled.cpp:6: error: ‘cout’ was not declared in this scope

我的路上还有什么遗漏的?

【问题讨论】:

  • 你在xcode里面安装了命令行工具包吗?那应该把你需要的东西放在/usr/bin/,而不是Xcode.app
  • 在该行中添加两次 ${PATH} 有点奇怪。它不应该引起你的问题,但你也不需要它。
  • 此错误消息提示,找不到头文件。请记住,头文件和编译器不是一回事(尽管它们紧密相连)。
  • 我在/usr/bin 中没有任何内容(gcc/g++ 相关),这是我怀疑的问题,但我确实将Xcode.app 升级到了最新版本,我假设其中包括命令行开发工具.我该如何确认?如何强制安装命令行工具?
  • 似乎在 Xcode 4.3 中,命令行工具位于 /Applications/Xcode.app/Contents/Developer/usr/bin/ 中,由 stackoverflow.com/questions/10346369/… 回答

标签: c++ osx-mountain-lion


【解决方案1】:

答案一如既往地显而易见

安装 Xcode 命令行工具

检查您的/usr/bin 并在那里找到:

再试一次..一切都会自动运行

另一方面,奇怪的是从 OSX10.7 升级到 OSX10.8 删除了这些链接

【讨论】:

    【解决方案2】:

    此答案适用于 GCC,但其他非 vcc 编译器可能相同。当我使用 GCC 时,iostream 不存在,但 iostream.h 存在,我建议您尝试 iostream.h,如果您再次使用 STL 标头遇到此问题,请添加 .h。

    【讨论】:

    • 是的,但是我说我之前遇到了问题,iostream.h 是找到的唯一标头,所以我不是 Mac 用户,这是 OP 可以解决的问题试试
    • iostream-h 确实是一些准标准实现中的标头,但我怀疑在最近版本的 mac OSX 中随 xcode 提供的 gcc 版本会如此古老。跨度>
    猜你喜欢
    • 2011-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-19
    • 1970-01-01
    相关资源
    最近更新 更多