首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在某些课程文件中正确使用Makefile

无法在某些课程文件中正确使用Makefile
EN

Stack Overflow用户
提问于 2015-08-19 11:20:42
回答 1查看 51关注 0票数 0

我正在尝试通过下面的http://www.cs.columbia.edu/~keenan/Projects/DGPDEC/paper.pdf。下面的源文件用于说明https://github.com/dgpdec/course上正在发生的事情。现在我不能让它起作用了。以下是我尝试过的:

首先,我进入了'basecode‘文件夹,编辑了Makefile以获得正确的包含路径和库路径。然后我想做,但它给了我错误

命名空间‘std’中的‘’ostream‘不指定类型

我在网上寻找了这个错误,但是我找不到解决这个问题的方法。在包含的文件libddg_userguide.pdf中,它说我应该在根libddg文件夹中编辑Makefile,但是我不知道是哪个文件夹。对于这样的努比问题,我很抱歉,但我真的被困住了,并且已经尝试了很长时间。下面是我使用的Makefile (在Basecode文件夹中)以供参考:

代码语言:javascript
复制
##########################################################################################

# 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

提前感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-19 11:30:12

这意味着代码中有一个bug :由于有人做了一个假设,缺少一个标头。

您的特定工具链不满足这一假设。

找到有问题的文件(您没有说明是哪个文件)并将#include <ostream>添加到其中。

(__course/Connection/include/DenseMatrix.h似乎是这样的一个文件;可能还有其他文件。)

注:我必须说,尽管有bug,但总的来说,对于大学课程来说,这是非常好的C++代码。我被打动了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32094054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档