Windows上的Msys2和Clang:未找到iostream文件 [英] Msys2 and Clang on Windows: iostream file not found

查看:0
本文介绍了Windows上的Msys2和Clang:未找到iostream文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我按照本教程(here)让Clang在Windows上运行。我选择了安装clang和msys2的路径。

按照所有说明编写了简单的程序:

#include <iostream>
using namespace std;

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

使用以下命令编译后: Clang++Helloworld.cpp-o Helloworld.exe-std=c++14

我收到错误:

*HelloWorld.cpp:2:10:致命错误:找不到‘iostream’文件,

%1生成错误。*

在我得到的命令行中添加-v:

Errors

clang version 3.9.1 (tags/RELEASE_391/final) 
Target: x86_64-w64-windows-gnu
Thread model: posix
InstalledDir: C:msys64mingw64in     
"C:\msys64\mingw64\bin\clang++.exe" -cc1 -triple x86_64-w64-windows-gnu -emit-obj -mrelax-all -disable-free -disable-    llvm-verifier -discard-value-names -main-file-name Helloworld.cpp -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -momit-leaf-frame-pointer -v -dwarf-column-info -debugger-tuning=gdb -resource-dir "C:\msys64\mingw64\bin\..\lib\clang\3.9.1" -internal-isystem "C:\msys64\mingw64\x86_64-w64-mingw32\include\c++" -internal-isystem "C:\msys64\mingw64\x86_64-w64-mingw32\include\c++\x86_64-w64-mingw32" -internal-isystem "C:\msys64\mingw64\x86_64-w64-mingw32\include\c++\backward" -internal-isystem "C:\msys64\mingw64\x86_64-w64-mingw32\include\c++\" -internal-isystem "C:\msys64\mingw64\x86_64-w64-mingw32\include\c++\\x86_64-w64-mingw32" -internal-isystem "C:\msys64\mingw64\x86_64-w64-mingw32\include\c++\\backward" -internal-isystem "C:\msys64\mingw64\include\c++\" -internal-isystem "C:\msys64\mingw64\include\c++\\x86_64-w64-mingw32" -internal-isystem "C:\msys64\mingw64\include\c++\\backward" -internal-isystem "include\c++" -internal-isystem "include\c++\x86_64-w64-mingw32" -internal-isystem "include\c++\backward" -internal-isystem "C:\msys64\mingw64\bin\..\lib\clang\3.9.1\include" -internal-isystem "C:\msys64\mingw64\x86_64-w64-mingw32\include" -internal-isystem "C:\msys64\mingw64\include" -std=c++14 -fdeprecated-macro -fdebug-compilation-dir "C:\msys64\programming" -ferror-limit 19 -fmessage-length 0 -femulated-tls -fno-use-cxa-atexit -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -o "C:\msys64\tmp\Helloworld-2393e7.o" -x c++ Helloworld.cpp

clang -cc1 version 3.9.1 based upon LLVM 3.9.1 default target x86_64-w64-windows-gnu
ignoring nonexistent directory "C:msys64mingw64x86_64-w64-mingw32includec++"
ignoring nonexistent directory "C:msys64mingw64x86_64-w64-mingw32includec++x86_64-w64-mingw32"
ignoring nonexistent directory "C:msys64mingw64x86_64-w64-mingw32includec++ackward"
ignoring nonexistent directory "C:msys64mingw64x86_64-w64-mingw32includec++"
ignoring nonexistent directory "C:msys64mingw64x86_64-w64-mingw32includec++\x86_64-w64-mingw32"
ignoring nonexistent directory "C:msys64mingw64x86_64-w64-mingw32includec++\backward"
ignoring nonexistent directory "C:msys64mingw64includec++"
ignoring nonexistent directory "C:msys64mingw64includec++\x86_64-w64-mingw32"
ignoring nonexistent directory "C:msys64mingw64includec++\backward"
ignoring nonexistent directory "includec++"
ignoring nonexistent directory "includec++x86_64-w64-mingw32"
ignoring nonexistent directory "includec++ackward"
ignoring nonexistent directory "C:msys64mingw64x86_64-w64-mingw32include"
#include "..." search starts here:
#include <...> search starts here:
 C:msys64mingw64in..libclang3.9.1include
 C:msys64mingw64include
End of search list.
Helloworld.cpp:2:10: fatal error: 'iostream' file not found
#include <iostream>
         ^
1 error generated.

如何让系统查找iostream?我读到了一些东西,您必须指向clang/lib/Fronend/InitHeaderSearch.cpp中的mingw头文件。我在电脑上找不到InitHeaderSearch.cpp文件。

感谢您的帮助。

Windows 8 Clang 3.9.1

推荐答案

由于生成脚本中的错误,某些依赖项丢失。

安装GCC包(32位mingw-w64-i686-gcc,64位mingw-w64-x86_64-gcc)拉取。

这篇关于Windows上的Msys2和Clang:未找到iostream文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆