某些课程文件无法正确使用Makefile
Cannot properly use the Makefile for some course files
我正在尝试通过以下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文件夹中)供参考:
##########################################################################################
# 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
似乎是一个这样的文件;)
注意:我必须说,尽管有bug,总的来说,对于大学课程来说,这是非常好的c++代码。给我留下了深刻的印象。
相关文章:
- boost::文件系统::recursive_directory_iterator多线程安全
- 使用 Makefile 中的头文件编译 Pybind (不使用 cmake)
- 特定对象文件的单线程生成
- 如何使用线程类编译 cpp 文件?
- 两个线程一个使用流 Api,另一个线程创建文件失败并出现错误ERROR_SHARING_VIOLATION
- Arduino-Makefile:编译器无法编译用户库 cpp 文件
- 在Windows上运行Linux Makefile(.so文件)
- C++中的多线程文件哈希
- 我们是否需要互斥锁来执行多线程文件 IO
- 多线程文件 IO 程序在线程数增加时行为不可预测
- 多线程文件读取为每个线程生成相同的结果
- 多线程文件读取
- 多线程文件保存操作
- 使用 makefile 将C++文件编译为 objective-c++
- 如何在C++中实现多线程文件处理
- 用于从本地PC接收文件的简单服务器线程-文件暂时为空
- 在c++中实现高效多线程文件I/O
- 多线程文件流
- 使用c++将多线程文件复制到不同的硬盘驱动器
- c++: Makefile:目标文件不编译?Make则表示物件未找到