Включение библиотек Boost в стандартный путь MinGW

как включить библиотеки Boost (вместе с включаемыми файлами) в стандартный путь поиска MinGW, чтобы я мог сделать что-то подобное;

#include <filesystem.hpp>
using boost::filesystem;

и избегать добавления -I, -l и -L в Makefile, как в стандартной библиотеке C ++?
(Я использую скомпилированный Boost 1.51.0 на Windows 7)

3

Решение

По умолчанию GCC ищет переменные среды C_INCLUDE_PATH и CPP_INCLUDE_PATH.
Вместо того, чтобы делать -I, вы можете добавить следующее в ваш .bashrc:

export CPP_INCLUDE_PATH=/path/to/your/boost/header
1

Другие решения

Как я это делаю (для /usr/local) Я добавляю в свой глобально определенный CXXFLAGS, Я всегда использую MinGW в сочетании с MSys. Я поменял фстаб (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

В make-файле я только расширяю переменные по мере необходимости:

LDFLAGS += -lawsomelib

Это работает как шарм и имеет то преимущество, что я могу переопределить локально CXXFLAGS в особых случаях. В основном вы должны предполагать в make-файле, что переменные CC, CXX, CXXFLAGS, CFLAGS и LDFLAGS уже определены и содержат полезные вещи. Это портативный и своего рода стандартный способ сделать это.

(НОТА: /usr/local не используется в качестве стандартного местоположения включения в ванильном MinGW + MSys.)

1

По вопросам рекламы [email protected]