包含在MacOS上使用g ++编译时找不到的路径

时间:2010-01-22 00:38:57

标签: c++ xcode macos include g++

我正在尝试在MacOS 10.6上编译最简单的程序,如:

$ g++ -o hello hello.cpp

以下来源:

#include <iostream>

int main (int argc, char * const argv[]) {
    std::cout << "Hello, World!\n";
    return 0;
}

我收到了错误:

hello.cpp:1:20: error: iostream: No such file or directory
hello.cpp: In function ‘int main(int, char* const*)’:
hello.cpp:4: error: ‘cout’ is not a member of ‘std’

所以显然我必须在某处添加include路径。我的问题是哪里我可以找到包含目录,如何可以全局添加它们(我不希望每当我想编译时都提供包含路径)。

我刚安装了XCode 3.1.4并设法通过Xcode编译它,但不是通过命令行编译。我在这个目录中找到了一些头文件:

/Xcode3.1.4/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers

并在阅读this问题后尝试将其添加到HEADER_SEARCH_PATHS,但没有运气。

我正在Linux上开发,一切都在那里工作正常,但我想在MacOS上继续这样做。有什么帮助吗?

2 个答案:

答案 0 :(得分:2)

在我的Mac上,该包含文件位于/usr/include/c++/4.0.0/iostream中。你确定吗 你安装了所有的命令行开发工具?它们可能不是默认的; 我很确定在我第一次安装Mac时必须手动安装它。 OS X安装介质上应该有一个“开发人员工具”软件包。

或者,如果您想确保获得最新版本,可以从以下位置下载: http://developer.apple.com/technology/xcode.html

答案 1 :(得分:-4)

$ g++ -o example.bin example.cpp //to compile
$ ./example.bin //to run

这是代码:

#include <iostream>
using namespace std;
int main () {
    cout << "Hello, World!\n";
    return 0;
}