использование Boost Graph Lib с EMBARCADERO RAD C ++ XE 5

Я хочу написать программу, используя BOOST C ++ lib и используя компилятор RAD XE 5.

Если я импортирую библиотеки повышения с:

#include <boost_1_50/boost/config.hpp>
#include <boost_1_50/boost/graph/graph_traits.hpp>
#include <boost_1_50/boost/adjacency_list.hpp>
#include <boost_1_50/boost/dijkstra_shortest_paths.hpp>

Я получаю следующее сообщение об ошибке

[bcc64 Fataler Fehler] config.hpp (26): ‘boost / config / user.hpp’-Datei nicht gefunden

У меня в папке Boost много файлов user.hpp.

Ошибка происходит из файла config.hpp:

// include it first:
#ifdef BOOST_USER_CONFIG
#  include BOOST_USER_CONFIG
#endif

Как правильно включить boost lib в C ++ XE 5? (для получения дополнительной информации мои настройки компилятора в виде дампа экрана)

C ** скриншот экрана

вот вам не полный пример кода

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit_shortpath.h"//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

#include "stdafx.h"

#include <iostream>
#include <fstream>

#include <boost_1_50/boost/config.hpp>
#include <boost_1_50/boost/graph/graph_traits.hpp>
#include <boost/adjacency_list.hpp>
#include <boost/dijkstra_shortest_paths.hpp>TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}

/

0

Решение

Я не могу не заметить, что ваш

   #include <boost_1_50/boost/config.hpp>
#include <boost_1_50/boost/graph/graph_traits.hpp>
#include <boost_1_50/boost/adjacency_list.hpp>

неверны:

О. Вы никогда не должны включать «config.hpp» напрямую, оставьте его для повышения.

B. Вы должны настроить свой путь таким образом, чтобы он не упоминал версию Boost

   #include <boost/graph/graph_traits.hpp>
#include <boost/adjacency_list.hpp>

Скорее всего, причина ваших проблем в том, что из-за вашего стиля #include вы перепутали две версии Boost вместе.

Поддержка вашего компилятора (Embarcadero, бывший Borland, верно?) Не очень согласована в новых версиях Boost. Может быть, установка Boost не смогла вывести некоторые ограничения свойств и оптимизации этого компилятора. Разработчики Boost даже не знают, как получить его версию: http://lists.boost.org/Archives/boost/2013/09/206546.php.

Скорее всего, вам придется сделать это самостоятельно или, возможно, обратиться к документации по компилятору, чтобы узнать, как использовать Boost с ним. Возможно, вы даже захотите переключиться на более старые версии Boost (1.49?), Когда был поддержан компилятор (или его предшественник).

Отвечая на ваш конкретный вопрос, чтобы отключить пользователь Конфигурационный заголовок, вы можете #define BOOST_NO_USER_CONFIG в настройках вашего компилятора. Но если вам придется сделать это, скорее всего, у вас уже есть серьезные проблемы.

1

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

Других решений пока нет …

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