Добрый день.
Вот скачал boost_1_33_1.exe паспоковал в папку c:\boost_1_33_1.
в корневой директории зделал вот такой батник
set BUILD=debug release
set TOOLS=vc-8_0
set PATH boost-build\jam_src\bin.ntx86;%PATH%
call "C:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat"
bjam stage
в корнеевоий дир. получил папку stage\lib со семи либами.
зборка вроде прошла нормально.
в студии влючил путь к либам.
но вот проблемма в след. при зборке преложения получаю след.
ошибку
#include"boost/function.hpp"
...
Cannot open include file: 'function.hpp': No such file or directory
This is a bug fix release addressing many problems with the 1.34.0 release. It is a recommended upgrade for all users of Boost 1.34.0. For a complete list of fixes see Boost Trac.
Supported Compilers
New in this release is improved support for the IBM XL C/C++ compiler.
Boost is tested on a wide range of compilers and platforms. Since Boost libraries rely on modern C++ features not available in all compilers, not all Boost libraries will work with every compiler. The following compilers and platforms have been extensively tested with Boost, although many other compilers and platforms will work as well. For more information, see the regression test results.
* Apple GCC 4.0.1 on Mac OS X.
* Borland C++ 5.8.2 on Windows.
* GNU C++
o 3.2.x., 3.3.x, 3.4.x, 4.0.x, 4.1.x on Linux
o 4.1.x on Solaris
o 3.4.x on Windows
* HP C++ for Tru64 UNIX 7.1.
* HP aC++ A.06.14.
* Intel C++ 9.1 on Windows, 9.0 on Linux.
* Metrowerks CodeWarrior 9.4 on Windows.
* Microsoft Visual C++ 6.0 (sp5, with and without STLport), 7.0, 7.1, 8.0. Note: Boost does not support the non-standard "Safe" C++ Library shipping with Visual C++ 8.0, which may result in many spurious warnings from Boost headers and other standards-conforming C++ code. To suppress these warnings, define the macro _SCL_SECURE_NO_DEPRECATE.
* Sun Studio 11 on Solaris.
А>>Cannot open include file: 'function.hpp': No such file or directory
А>>
A>добавь в INCLUDE path: c:\boost_1_33_1 A>а включай лучше вот так:
A>#include <boost/function.hpp>
Это кстати не всегда удобно. Пример. Вы собираете проект используя определенную версию boost, версия эта лежит рядом с проектом, пути указываются через -I. Если Вам понадобится собрать проект на другой системе, где boost уже установлен, но имеет другую версию, прийдется менять -I на -isystem, а в случае с включением через "" всё работало бы и так.
А>>>Cannot open include file: 'function.hpp': No such file or directory
А>>>
A>>добавь в INCLUDE path: c:\boost_1_33_1 A>>а включай лучше вот так:
A>>#include <boost/function.hpp>
P>Это кстати не всегда удобно. Пример. Вы собираете проект используя определенную версию boost, версия эта лежит рядом с проектом, пути указываются через -I. Если Вам понадобится собрать проект на другой системе, где boost уже установлен, но имеет другую версию, прийдется менять -I на -isystem, а в случае с включением через "" всё работало бы и так.
Тащить Boost за собой? Не самая лучшая мысль.
Тем более что в приличных системах Boost всегда лежит в одном и том же месте — /usr/include, и -I не нужно.
Здравствуйте, Roman Odaisky, Вы писали:
RO>Тащить Boost за собой? Не самая лучшая мысль.
RO>Тем более что в приличных системах Boost всегда лежит в одном и том же месте — /usr/include, и -I не нужно.
Если не тащить буст за собой всё равно инклуды найдутся, если включать через "". А если тащить, то с <> может быть неудобно.
P>Если не тащить буст за собой всё равно инклуды найдутся, если включать через "". А если тащить, то с <> может быть неудобно.
имхо разница тут больше стилистическая. я придерживаюсь такого оформления кода:
все что в <> — это системные и сторонние библиотеки
все что в "" — часть твоей программы . boost ей не является, это "почти стандартная" библиотека. поэтому с т.зр. стиля лучше <>
Здравствуйте, Awaken, Вы писали:
P>>Если не тащить буст за собой всё равно инклуды найдутся, если включать через "". А если тащить, то с <> может быть неудобно.
A>имхо разница тут больше стилистическая. я придерживаюсь такого оформления кода: A>все что в <> — это системные и сторонние библиотеки A>все что в "" — часть твоей программы . boost ей не является, это "почти стандартная" библиотека. поэтому с т.зр. стиля лучше <>
По стандарту разница не стилистическая, и из него следует, что абсолютно переносимо через <> можно подключать только стандартные заголовочные файлы, все остальные варианты — на усмотрение реализации.