所以我最近通过最新版本的nuwen MinGW发行版安装了MinGW ,其中包括boost C++库.具体来说,我是在boost库提供的scoped_ptr之后.但是,当我尝试#include <boost/scoped_ptr.hpp>在我的标头中包含scoped_ptr()时,编译器抛出
error: boost/scoped_ptr.hpp: No such file or directory
Makefile文件:
compile:
g++ -o gen/cavestory src/**.cc
run:
gen/cavestory
Run Code Online (Sandbox Code Playgroud)
另外,我在SDL/**下向MinGW的include目录中添加了SDL的后退版本.所有的头文件都存在,我已经检查过了,编译器在我的上面抛出了类似的错误include SDL/SDL.h>.
我尝试过的事情:我的include语句中的
每个变体<>和
删除和
设置编译器标志以专门搜索包含标题的目录"".h.hppg++ -I
这段代码是用MinGW的早期版本编译的,MinGw distrobution的作者明确指出他将g ++编译器选项改为默认为C++ 11,所以我认为很可能与它有关.不过,我的google-fu并没有取得好成绩.
错误指向math.h文件的第36行,我没有搞砸过它.SRK.cpp是唯一需要标头的文件,但它不会,因此将它包含在头文件中似乎是合乎逻辑的.显然有些东西搞砸了(我个人认为那里有一个拼写错误或其他简单的错误,但是由于错误指向我包含在C++中的头文件,我不知道在哪里看).
header.h
#ifndef HEADER_H
#define HEADER_H
#include <math.h>
double reducedP(double P, double Pc);
double reducedT(double T, double Tc);
double SRK(double Tr, double Pr, double acc);
#endif
Run Code Online (Sandbox Code Playgroud)
main.cpp中
#include <iostream>
#include "header.h"
using namespace std;
int main()
{
double T = 0;
double Tc = 0;
double Tr = 0;
double P = 0;
double Pc = 0;
double Pr = 0;
double acc = 0;
double Z = 0;
cout << "Enter Temperature: ";
cin >> T;
cout << "\n"; …Run Code Online (Sandbox Code Playgroud)