我最近安装了MinGW,使用了包含boost C++库的nuwen's MinGW distribution的最新版本。具体而言,我想要使用boost库提供的scoped_ptr。然而,当我尝试在我的头文件中包含scoped_ptr (
另外,我在MinGW的include目录下添加了SDL的反向版本,路径为SDL/**。所有的头文件都在那里,我已经检查过,在我的
我尝试过的事情有:
在我的包含语句中使用
删除
将编译器标志设置为具体搜索包含头文件的目录
#include <boost/scoped_ptr.hpp>
)时,编译器会抛出error: boost/scoped_ptr.hpp: No such file or directory
Makefile:compile:
g++ -o gen/cavestory src/**.cc
run:
gen/cavestory
另外,我在MinGW的include目录下添加了SDL的反向版本,路径为SDL/**。所有的头文件都在那里,我已经检查过,在我的
include SDL/SDL.h>
语句下编译器会抛出类似的错误。我尝试过的事情有:
在我的包含语句中使用
<>
和""
的各种变化删除
.h
和.hpp
将编译器标志设置为具体搜索包含头文件的目录
g++ -I
这段代码在早期版本的MinGW上编译过,而MinGW分发版的作者明确表示他更改了g++编译器选项以默认使用C++11,因此我认为很可能是与此有关。但我的谷歌功夫还没有取得成果。
empty.c
文件,然后执行命令:gcc -v empty.c
。将输出粘贴到您的问题中。其中包括编译器将在其中搜索包含文件的目录。假设您已将 Nuwen 发行版安装到c:\mingw
中,则scoped_ptr.hpp
应该在c:\mingw\include\boost\
目录下。 - Michael Burr