簡體   English   中英

包括在MacOS上使用g ++編譯時找不到的路徑

[英]Include paths not found while compiling with g++ on MacOS

我正在嘗試在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’

因此,顯然我必須在某個位置添加包含路徑。 我的問題是,在哪里可以找到包含目錄,以及如何在全局范圍內添加它們(我不想在每次編譯時都提供包含路徑)。

我剛剛安裝了XCode 3.1.4,並設法通過Xcode而不是通過命令行對其進行了編譯。 我在此目錄中找到了一些頭文件:

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

並在閱讀問題后嘗試將其添加到HEADER_SEARCH_PATHS,但沒有運氣。

我正在Linux上進行開發,並且在那里一切正常,但是我想在MacOS上繼續這樣做。 有什么幫助嗎?

在我的Mac上,該包含文件位於/usr/include/c++/4.0.0/iostream中。 您確定已安裝所有命令行開發工具嗎? 它們可能不是默認設置。 我很確定第一次安裝Mac時必須手動安裝它。 OS X安裝媒體上的某個位置應該有一個“開發人員工具”包。

或者,如果您要確保獲得最新版本,可以從以下網址下載: http : //developer.apple.com/technology/xcode.html

$ 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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM