塞拉利昂,cpp命令可抛“的iostream”找不到文件
问题描述:
我对我与Sierra和Xcode9.0.1塞拉利昂,cpp命令可抛“的iostream”找不到文件
我编译克以下的Hello World代码的MacBook Pro之后的tutorial ++没有问题。
#include <iostream>
main() {
using namespace std;
cout << "Hello, World!" << endl;
}
但是,当我执行
cpp hello.cxx | more
所要求的教程中,我得到了以下错误消息:
hello.cpp:1:10: fatal error: 'iostream' file not found
#include <iostream>
^~~~~~~~~~
1 error generated.
# 1 "hello.cpp"
# 1 "<built-in>" 1
# 1 "<built-in>" 3
# 330 "<built-in>" 3
# 1 "<command line>" 1
# 1 "<built-in>" 2
# 1 "hello.cpp" 2
答
既然你有一个工作g++
编译器,你可以使用以下命令行获取预处理输出:
g++ -E hello.cxx | more
-E
选项指示编译器驱动程序执行预处理器并发出预处理输出。
'cpp'命令是预处理器。它本身可能不知道系统头文件的位置。您可能需要使用'-I'(大写的i)选项来指定系统头文件搜索路径。 –
谷歌搜索后,我发现['cpp'](http://www.tutorialspoint.com/unix_commands/cpp.htm)是Linux中的c预处理器的名称,可能也在OS/X中。 (因为它只进行预处理(例如,以'#'为前缀的语句),它也可以用于C++文件。)也许,你可以尝试'man cpp'来了解更多信息。它可能没有默认的正确包含目录。要检查这个,你可以尝试'cpp -I'和文件'iostream'所在的路径。 – Scheff
谢谢,所以下面你的评论我试过这个:cpp -I /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iostream hello.cpp 但是得到了: 铛:error:no such file or directory:'c' clang:warning:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iostream:'linker'input unused [ -Wunused的命令行参数的] – BlackSwing