我正在尝试浏览以下http://www.cs.columbia.edu/~keenan/Projects/DGPDEC/paper.pdf。以下源文件用于说明https://github.com/dgpdec/course上发生的情况。现在我无法正常工作。这是我尝试过的:
首先,我进入文件夹“ basecode”,编辑Makefile以使其具有正确的include和库路径。然后我想做,但这给了我错误
名称空间“ std”中的“ ostream”未命名类型
我在网上查找此错误,但找不到解决方案。在包含的文件libddg_userguide.pdf中,它说我应该在根libddg文件夹中编辑Makefile,但我不知道是哪个文件夹。对于此类nooby问题,我感到很抱歉,但我确实很困惑,并且已经尝试了很长时间。这是我用来(在Basecode文件夹中)供参考的Makefile:
##########################################################################################
# Specify library locations here (add or remove "#" marks to comment/uncomment lines for your platform)
# Linux
DDG_INCLUDE_PATH = -I/usr/include/ -I/usr/local/include -I/usr/include/suitesparse
DDG_LIBRARY_PATH = -L/usr/lib -L/usr/local/lib
DDG_BLAS_LIBS = -llapack -lblas -lgfortran
DDG_SUITESPARSE_LIBS = -lspqr -lcholmod -lmetis -lcolamd -lccolamd -lcamd -lamd -lm
DDG_OPENGL_LIBS = -lglut -lGL -lGLU -lX11
########################################################################################
TARGET = ddg
CC = g++
LD = g++
CFLAGS = -O3 -Wall -Werror -ansi -pedantic $(DDG_INCLUDE_PATH) -I./include -I./src
LFLAGS = -O3 -Wall -Werror -ansi -pedantic $(DDG_LIBRARY_PATH)
LIBS = $(DDG_OPENGL_LIBS) $(DDG_SUITESPARSE_LIBS) $(DDG_BLAS_LIBS)
########################################################################################
## !! Do not edit below this line
HEADERS := $(wildcard include/*.h)
SOURCES := $(wildcard src/*.cpp)
OBJECTS := $(addprefix obj/,$(notdir $(SOURCES:.cpp=.o)))
all: $(TARGET)
$(TARGET): $(OBJECTS)
$(LD) $(OBJECTS) -o $(TARGET) $(CFLAGS) $(LFLAGS) $(LIBS)
obj/%.o: src/%.cpp ${HEADERS}
$(CC) -c $< -o $@ $(CFLAGS)
clean:
rm -f $(OBJECTS)
rm -f $(TARGET)
rm -f $(TARGET).exe
在此先感谢您的帮助!
这意味着代码中存在一个错误:标头丢失了,因为有人做了一个假设。
您的特定工具链不满足该假设。
找到有问题的文件(您没有说是哪一个)并添加#include <ostream>
到其中。
(course/Connection/include/DenseMatrix.h
似乎是一个这样的文件;可能还有其他文件。)
注意:我必须说,尽管有错误,但总体而言,对于大学课程来说,这是非常好的C ++代码。给我留下深刻的印象。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句