所以我最近通过包含boost C ++库的最新版nuwen's MinGW distribution安装了MinGW。具体来说,我是在boost库提供的scoped_ptr之后。但是,当我尝试在我的标头中包含scoped_ptr(#include <boost/scoped_ptr.hpp>
)时,编译器会抛出
error: boost/scoped_ptr.hpp: No such file or directory
生成文件:
compile:
g++ -o gen/cavestory src/**.cc
run:
gen/cavestory
另外,我在SDL / **下向MinGW的include目录添加了SDL的后退版本。所有的头文件都存在,我已经检查过了,编译器在我的include SDL/SDL.h>
上抛出了类似的错误。
我尝试过的事情:
我的包含语句中<>
和""
的每个变体
正在删除.h
和.hpp
设置编译器标志以专门搜索包含带有g++ -I
这段代码是用MinGW的早期版本编译的,MinGw distrobution的作者明确指出他将g ++编译器选项更改为默认为C ++ 11,所以我认为它很可能与它有关。那。不过,我的google-fu并没有取得好成绩。
答案 0 :(得分:7)
我想出了解决方案:基于Michael Burr上面的评论,我使用详细标记运行编译器。由于某种原因,搜索的include目录不在MinGw根目录中,而是隐藏在lib
目录中。我希望这可以用其中一个安装脚本修复,但我要么没有正确运行它,要么它在我的系统上不起作用。我需要添加相关文件的目录是在我的机器上
C:\MinGW\lib\gcc\x86_64-w64-mingw32\4.8.2\include
这是一个快速而肮脏的修复方法。我确信有一种更好的方法,但这让我起得更快。