小编tjt*_*oml的帖子

MinGW g ++在自己的include目录中找不到头文件

所以我最近通过最新版本的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.hpp
g++ -I

这段代码是用MinGW的早期版本编译的,MinGw distrobution的作者明确指出他将g ++编译器选项改为默认为C++ 11,所以我认为很可能与它有关.不过,我的google-fu并没有取得好成绩.

c++ windows boost mingw c++11

9
推荐指数
1
解决办法
1万
查看次数

使用math.h时,在'extern'之前的预期初始化程序

错误指向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)

c++ math.h

0
推荐指数
1
解决办法
2000
查看次数

标签 统计

c++ ×2

boost ×1

c++11 ×1

math.h ×1

mingw ×1

windows ×1