c++ - 在 WSL 上编译时找不到“iostream”文件

标签 c++

我试图在我的本地机器上使用 linux 的窗口子系统来编译一个在我学校的 linux 计算机上运行的 c++ 程序,但是当我尝试编译时出现以下错误:

$ make

In file included from cs221util/HSLAPixel.cpp:9:
cs221util/HSLAPixel.h:11:10: fatal error: 'iostream' file not found
#include <iostream>
         ^~~~~~~~~~
1 error generated.
Makefile:23: recipe for target 'HSLAPixel.o' failed
make: *** [HSLAPixel.o] Error 1

到目前为止,我已经安装了以下项目。我应该从这里做什么?

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install build-essential
sudo apt-get install aptitude
sudo apt-get install libstdc++6

生成文件:

EXE = pa3
EXETest = pa3test

OBJS_EXE = HSLAPixel.o lodepng.o PNG.o main.o toqutree.o stats.o
OBJS_EXET = HSLAPixel.o lodepng.o PNG.o testComp.o toqutree.o stats.o

CXX = clang++
CXXFLAGS = -std=c++1y -stdlib=libc++ -c -g -O0 -Wall -Wextra -pedantic 
LD = clang++
#LDFLAGS = -std=c++1y -stdlib=libc++ -lc++abi -lpthread -lm
LDFLAGS = -std=c++1y -stdlib=libc++ -lpthread -lm 

all : pa3 pa3test

$(EXE) : $(OBJS_EXE)
    $(LD) $(OBJS_EXE) $(LDFLAGS) -o $(EXE)

$(EXETest) : $(OBJS_EXET)
    $(LD) $(OBJS_EXET) $(LDFLAGS) -o $(EXETest)

#object files
HSLAPixel.o : cs221util/HSLAPixel.cpp cs221util/HSLAPixel.h
    $(CXX) $(CXXFLAGS) cs221util/HSLAPixel.cpp -o $@

PNG.o : cs221util/PNG.cpp cs221util/PNG.h cs221util/HSLAPixel.h cs221util/lodepng/lodepng.h
    $(CXX) $(CXXFLAGS) cs221util/PNG.cpp -o $@

lodepng.o : cs221util/lodepng/lodepng.cpp cs221util/lodepng/lodepng.h
    $(CXX) $(CXXFLAGS) cs221util/lodepng/lodepng.cpp -o $@

stats.o : stats.h stats.cpp cs221util/HSLAPixel.h cs221util/PNG.h
    $(CXX) $(CXXFLAGS) stats.cpp -o $@

toqutree.o : toqutree.h toqutree.cpp stats.h cs221util/PNG.h cs221util/HSLAPixel.h
    $(CXX) $(CXXFLAGS) toqutree.cpp -o $@

testComp.o : testComp.cpp cs221util/PNG.h cs221util/HSLAPixel.h toqutree.h
    $(CXX) $(CXXFLAGS) testComp.cpp -o testComp.o

main.o : main.cpp cs221util/PNG.h cs221util/HSLAPixel.h toqutree.h
    $(CXX) $(CXXFLAGS) main.cpp -o main.o

clean :
    -rm -f *.o $(EXE) $(EXETest)

最佳答案

在我安装了 libc++ 之后,它就起作用了。谢谢!

sudo apt-get install libc++abi-dev

关于c++ - 在 WSL 上编译时找不到“iostream”文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55390435/

相关文章:

python - TensorFlow 2.0 C++ - 加载预训练模型

c++ - Qt/C++ : drawing efficiently

接受左值、右值和右值引用的 C++ 函数签名

c++ - 在cmake中,如何以可伸缩的方式指定子目录的依赖关系?

c++ - 具有可以是两种类型之一的数据成员的类

c++ - 实现设置,常见做法?

c++ - 二元运算符 + , = 用 const 重载

c++ - 在 macOS 主机上为 Windows 目标交叉编译 golang 和 cgo

c++ - 用Qt构建FS路径的跨平台方式

c++ - Boost::ptr_vector 改变元素顺序