Повышаю. Геометрия - это библиотека только для заголовков. Пользователям нужно только включить заголовки библиотеки в свои программы, чтобы иметь доступ к определениям и алгоритмам, предоставляемым Boost. Геометрическая библиотека. Никаких ссылок против каких-либо двоичных файлов не требуется.
Повышаю. Геометрия зависит только от библиотек Boost. Он не вводит непрямых зависимостей от каких-либо бинарных библиотек.
Для того, чтобы можно было использовать буст. Геометрия, единственное, что пользователи должны сделать, это загрузить и / или установить Boost и указать местоположение, чтобы включить каталоги, поэтому директивы этой схемы будут работать:
#include <boost/...>
Повышаю. Библиотека геометрии успешно протестирована со следующими компиляторами:
- MSVC (включая Express Editions)
- 14.0 (MSVC 14 CTP)
- 12.0 (MSVC 2013)
- 11.0 (MSVC 2012)
- 10.0 (MSVC 2010)
- 9.0 (MSVC 2008)
- 8.0 (MSVC 2005)
- Гцк
- gcc 5.0.0
- GCC 4.9.2
- GCC 4.9.0
- Гцк 4.8.4
- GCC 4.8.1
- GCC 4.8.0
- GCC 4.7.3
- GCC 4.7.2
- GCC 4.7.0
- GCC 4.6.4
- GCC 4.6.2
- GCC 4.6.1
- GCC 4.6.0
- GCC 4.5.3
- GCC 4.5.2
- Гцк 4.4.7
- GCC 4.4.0
- Гцк 4.3.4
- GCC 4.2.1
- GCC 3.4.6
- цепляться
- Кланг 3.6
- сцепление 3.5
- сцепление 3.4
- сцепление 3.3
- сцепление 3.2
- сцепление 3.1
- clang 3.0
- сцепление 2.9
- Дарвин
- [информация 11.1]
- Информация 11.0
- Информация 10.1
- шкала пути
Повышаю. Геометрия использует Boost. Создайте текстовую систему для разработки и тестирования программного обеспечения, чтобы настраивать, строить и выполнять единичные тесты и примеры программ. Конфигурация сборки представлена в виде набора<Jamfile.v2
>файлов.
Для gcc флаг<-Wno-long-long
>может использоваться для подавления некоторых предупреждений, исходящих от Boost.
Наиболее удобный файл заголовка, включающий все алгоритмы и стратегии<geometry.hpp
>:
#include <boost/geometry.hpp>
Это главный заголовок Boost. Библиотека геометрии и рекомендуется включить этот файл.
В качестве альтернативы можно включить Boost. Файлы заголовков геометрии отдельно. Тем не менее, это может быть неудобно, так как файлы заголовка могут быть переименованы или иногда перемещены в будущем.
Другой часто используемый заголовок<geometries.hpp
>:
#include <boost/geometry/geometries/geometries.hpp>
Это включает в себя определения всех представленных типов геометрии:
- точка
- струнный,
- полигон,
- кольцо,
- multi_point,
- multi_linestring,
- multi_polygon,
- коробка,
- сегмент.
Файл<geometries.hpp
>не включен в заголовок<geometry.hpp
>, поскольку пользователям должна быть предоставлена свобода использовать свои собственные геометрии, а не предоставленные. Однако для повышения. Пользователей геометрии, желающих использовать предоставленные геометрии, полезно включить.
Пользователи, имеющие собственную геометрию и желающие использовать алгоритмы от Boost. Геометрия может включать файлы, содержащие макрос регистрации, такие как:
#include <boost/geometry/geometries/register/point.hpp>
Перечисление ниже не является исчерпывающим, но может содержать подсказки для улучшения производительности:
- Для Microsoft MSVC задайте определение<
_SECURE_SCL=0
>для препроцессора.
- Для Microsoft MSVC задайте определение<
_HAS_ITERATOR_DEBUGGING=0
>для препроцессора.
- ИспользованиеSTLport, популярной реализации STL с открытым исходным кодом, может привести к значительно более быстрому коду, чем использование стандартной библиотеки C++, предоставляемой MSVC.
- Включите оптимизацию компилятора, компилируйте в режиме выпуска.
Обе версии MSVC, 2005 и 2008 (включая Express Editions) могут висеть, пытаясь разрешить символы и датьIntelliSenseпредложения при наборе в скобке или угловой скобке. Это не имеет прямого отношения к Boost. Геометрия, но вызвана проблемами с обработкой этой IDE большой базы кода C++ с интенсивно используемыми шаблонами, такими как Boost и Boost. Геометрия. Если это неудобно, IntelliSense можно отключить:
& #8220;(...) отключение IntelliSense в VC++. В этом случае<feacp.dll
>находится в<<VS8INSTALL>/VC/vcpackages
>. Переименование этого файла отключит функцию Intellisense.& #8221;
-Проблемы Intellisense в Visual C++ 2005