首页 > 解决方案 > 在 WSL 上编译时找不到“iostream”文件

问题描述

我正在尝试在本地机器上使用 windows 的 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)

标签: c++

解决方案


它在我安装 libc++ 后工作。谢谢!

sudo apt-get install libc++abi-dev

推荐阅读