如何在MinGW的标准搜索路径中包含Boost库(及其包含文件),以便我可以执行类似的操作;
#include <filesystem.hpp>
using boost::filesystem;
并避免在Makefile中添加-I,-l和-L,就像C ++标准库一样? (我在Windows 7上使用编译的boost 1.51.0)
答案 0 :(得分:1)
默认情况下,GCC会查找C_INCLUDE_PATH和CPP_INCLUDE_PATH环境变量。 您可以将以下内容添加到.bashrc:
,而不是执行-Iexport CPP_INCLUDE_PATH=/path/to/your/boost/header
答案 1 :(得分:1)
我的方式(/usr/local
)我添加到全局定义的CXXFLAGS
。我总是将MinGW与MSys结合使用。我更改了fstab(C:\MinGW\msys\1.0\etc\fstab
)以将C:\Users
映射到/home
。 (那应该是默认值。)然后我在我的用户目录中定义了一个.profile
文件,其中包含我的“默认”CFLAGS
,CXXFLAGS
和LDFLAGS
。所以在我的情况下:
export CFLAGS=-g -Wall -I/usr/local/include
export CXXFLAGS=-g -Wall -I/usr/local/include
export LDFLAGS=/usr/local/lib
在makefile中,我只根据需要扩展变量:
LDFLAGS += -lawsomelib
这就像一个魅力,具有在特殊情况下我可以在本地重新定义CXXFLAGS
的优点。基本上你应该在makefile中假设变量CC,CXX,CXXFLAGS,CFLAGS和LDFLAGS已经定义并包含有用的东西。这是便携式和标准的方式。
(注意:/usr/local
未用作香草MinGW + MSys中的标准包含位置。)