Сборка GDAL 1.9.0 с использованием Visual Studio 2010: различия между версиями
LEXX413 (обсуждение | вклад) |
LEXX413 (обсуждение | вклад) |
||
Строка 21: | Строка 21: | ||
OGR и GDAL обеспечивают не только поддержку форматов, но и операции работы с векторами и растрами. Т.е. GDAL позволяет не только считывать но и манипулировать с геоданными. <br /> | OGR и GDAL обеспечивают не только поддержку форматов, но и операции работы с векторами и растрами. Т.е. GDAL позволяет не только считывать но и манипулировать с геоданными. <br /> | ||
Теперь про зависимости. Компонент CPL (исходники лежат в подпапке port) зависит от библиотек: zlib, curl. <br /> | '''Теперь про зависимости.''' Компонент CPL (исходники лежат в подпапке port) зависит от библиотек: zlib, curl. <br /> | ||
OGR зависит от многих библиотек, но базовый набор от expat, geos и proj. <br /> | OGR зависит от многих библиотек, но базовый набор от expat, geos и proj. <br /> | ||
GDAL зависит от tiff,jpeg, png. <br /> | GDAL зависит от tiff,jpeg, png. <br /> | ||
Строка 27: | Строка 27: | ||
Тут надо понимать что такое драйвер. Это отдельный плагин обеспечивающий поддержку формата из списка. В таблице http://www.gdal.org/formats_list.html можно посмотреть что от чего зависит. Иногда драйвер не зависит ни от чего и компилировать его просто. Иногда нужна еще отдельная библиотека или набор библиотек.<br /> | Тут надо понимать что такое драйвер. Это отдельный плагин обеспечивающий поддержку формата из списка. В таблице http://www.gdal.org/formats_list.html можно посмотреть что от чего зависит. Иногда драйвер не зависит ни от чего и компилировать его просто. Иногда нужна еще отдельная библиотека или набор библиотек.<br /> | ||
Коротко о сборке. В зависимости от необходимости можно собрать GDAL именно в той конфигурации, что нужна (с определенным перечнем драйверов).<br /> | '''Коротко о сборке.''' В зависимости от необходимости можно собрать GDAL именно в той конфигурации, что нужна (с определенным перечнем драйверов).<br /> | ||
Собирать будем пошагово: вначале все зависимые библиотеки, затем сам GDAL. Для простоты предлагаю делать это все с использованием системы сборки CMake. <br /> | Собирать будем пошагово: вначале все зависимые библиотеки, затем сам GDAL. Для простоты предлагаю делать это все с использованием системы сборки CMake. <br /> | ||
Суть в том что для большинства библиотек разработаны скрипты CMake и сборка становится однотипной и простой. Заодно на выходе будут привычные проекты Visual Studio, где можно залезть в свойсnва и посмотреть, что и как.<br /> | Суть в том что для большинства библиотек разработаны скрипты CMake и сборка становится однотипной и простой. Заодно на выходе будут привычные проекты Visual Studio, где можно залезть в свойсnва и посмотреть, что и как.<br /> | ||
Первой библиотекой будем компилировать | '''Первой библиотекой будем компилировать expat.'''<br /> | ||
''Первое'': скачиваем систему сборки cmake http://www.cmake.org/files/v2.8/cmake-2.8.7-win32-x86.exe и ставим ее.<br /> | '''''Первое''''': скачиваем систему сборки cmake http://www.cmake.org/files/v2.8/cmake-2.8.7-win32-x86.exe и ставим ее.<br /> | ||
''Второе'': берем файл отсюда http://sourceforge.net/projects/expat/files/expat/2.0.1/ под названием expat-2.0.1.tar.gz - это последняя стабильная версия на 20.03.2012 и распаковываем в папку где у нас будут храниться все проекты для сборки библиотек, например сюда ''C:\project\expat-2.0.1\''. Обратите внимание, что эта и все последующие папки должны быть разархивированы так, что в конечной папке, в данном случае expat-2.0.1, должны лежать различные папки и файла, а не вложенная папка expat-2.0.1(для данного примера).<br /> | '''''Второе''''': берем файл отсюда http://sourceforge.net/projects/expat/files/expat/2.0.1/ под названием expat-2.0.1.tar.gz - это последняя стабильная версия на 20.03.2012 и распаковываем в папку где у нас будут храниться все проекты для сборки библиотек, например сюда ''C:\project\expat-2.0.1\''. Обратите внимание, что эта и все последующие папки должны быть разархивированы так, что в конечной папке, в данном случае expat-2.0.1, должны лежать различные папки и файла, а не вложенная папка expat-2.0.1(для данного примера).<br /> | ||
''Третье'': скачиваем фаил CMakeLists.txt [[Файл:CMakeLists.zip]] и помещаем в разархивированную папку expat-2.0.1.<br /> | '''''Третье''''': скачиваем фаил CMakeLists.txt [[Файл:CMakeLists.zip]] и помещаем в разархивированную папку expat-2.0.1.<br /> | ||
Далее запускаем CMake и указываем два пути: | Далее запускаем CMake и указываем два пути: | ||
Where is the source code - это то, куда вы разархивировали expat, например C:/projects/expat-2.0.1 и | Where is the source code - это то, куда вы разархивировали expat, например C:/projects/expat-2.0.1 и |
Версия от 19:04, 22 марта 2012
Сборка библиотеки GDAL 1.9.0 с использованием Visual Studio 2010
В мире все развивается и это касается так же программного обеспечения, а именно выходят новые версии библиотек и новые версии программ для разработки. Поэтому в данной статье речь пойдет о сборке библиотеки GDAL 1.9.0 на Visual Studio 2010.
Оглавление
- Краткая информация о структуре библиотеки GDAL
- Второй раздел
1. Краткая информация о структуре библиотеки GDAL
Библиотека GDAL состоит из 3-х частей: CPL OGR GDA
CPL - это базовые функции работы с файловой системой, строками, xml и т.п.
OGR это работа с геопространственными векторными форматами. Список поддерживаемых форматов можно посмотреть здесь: http://www.gdal.org/ogr/ogr_formats.html
GDAL - это работа с растровыми форматами. Список здесь: http://www.gdal.org/formats_list.html
OGR и GDAL обеспечивают не только поддержку форматов, но и операции работы с векторами и растрами. Т.е. GDAL позволяет не только считывать но и манипулировать с геоданными.
Теперь про зависимости. Компонент CPL (исходники лежат в подпапке port) зависит от библиотек: zlib, curl.
OGR зависит от многих библиотек, но базовый набор от expat, geos и proj.
GDAL зависит от tiff,jpeg, png.
Тут надо понимать что такое драйвер. Это отдельный плагин обеспечивающий поддержку формата из списка. В таблице http://www.gdal.org/formats_list.html можно посмотреть что от чего зависит. Иногда драйвер не зависит ни от чего и компилировать его просто. Иногда нужна еще отдельная библиотека или набор библиотек.
Коротко о сборке. В зависимости от необходимости можно собрать GDAL именно в той конфигурации, что нужна (с определенным перечнем драйверов).
Собирать будем пошагово: вначале все зависимые библиотеки, затем сам GDAL. Для простоты предлагаю делать это все с использованием системы сборки CMake.
Суть в том что для большинства библиотек разработаны скрипты CMake и сборка становится однотипной и простой. Заодно на выходе будут привычные проекты Visual Studio, где можно залезть в свойсnва и посмотреть, что и как.
Первой библиотекой будем компилировать expat.
Первое: скачиваем систему сборки cmake http://www.cmake.org/files/v2.8/cmake-2.8.7-win32-x86.exe и ставим ее.
Второе: берем файл отсюда http://sourceforge.net/projects/expat/files/expat/2.0.1/ под названием expat-2.0.1.tar.gz - это последняя стабильная версия на 20.03.2012 и распаковываем в папку где у нас будут храниться все проекты для сборки библиотек, например сюда C:\project\expat-2.0.1\. Обратите внимание, что эта и все последующие папки должны быть разархивированы так, что в конечной папке, в данном случае expat-2.0.1, должны лежать различные папки и файла, а не вложенная папка expat-2.0.1(для данного примера).
Третье: скачиваем фаил CMakeLists.txt Файл:CMakeLists.zip и помещаем в разархивированную папку expat-2.0.1.
Далее запускаем CMake и указываем два пути:
Where is the source code - это то, куда вы разархивировали expat, например C:/projects/expat-2.0.1 и
Where to build the binaries – это та папка, куда сгенерируются файлы проекта C:/projects/expat-2.0.1/build .
Нажимаем кнопку Configure и выбираем версию Visual Studio(в нашем случае Visual Studio 2010), если выдаст ошибку, нажимаем еще раз. После нажимаем кнопку Generate. В папке build должен появиться фаил libexpat.sln, открываем его с помощью Visual Studio, выставляем сверху
Тип сборки Release вместо Debug и компилируем проект(нажимаем F7). После этого в папке C:/projects/expat-2.0.1/lib/Release должны появиться следующие файлы
libexpat.dll
libexpat.exp
libexpat.lib
Это мы скомпилировали так называему shared dll. Есть еще Static dll - тогда на выходе только libexpat.lib. Потом libexpat.dll надо будет скопировать в папку с вашей программой. Туда надо будет кидать все зависимые библиотеки.
Далее делаем тоже самое для zlib, качаем ее отсюда http://zlib.net/zlib126.zip CmakeLists.txt в архив уже включена.
При нажатии на кнопку Configure в самом конце cmake напишет следующее сообщение:
CMake Error at CMakeLists.txt:65 (message):
You must remove C:/projects/zlib-1.2.6/zconf.h from the source tree. This file is included with zlib but CMake generates this file for you automatically in the build directory.
Здесь говорится, что нужно стереть фаил C://projects/zlib-1.2.6/zconf.h т.к. он сгенерил новый. После того как сотрете опять нажимайте Configure, процесс должен закончиться без ошибок, после запускайте Generate. Далее идем в папку build и открываем фаил zlib.sln с помощью Visual Studio, ставим Release,А так же заходим в меню в пункт Построение и выбираем диспетчер конфигураций, после этого снимаем галочки с examles и minizip они нам не понадобятся, если же будут нужны, необходимо в свойствах этих проектов прописать путь к zlib.h. После всего этого компилируем проект и получаем 3 файла в папке C:/projects/zlib-1.2.6/Debug/Release. Перенесем их в папку C:/projects/zlib-1.2.6/lib/Release для унификации, эту папку необходимо создать самим.
Текст статьи
Пример кода программы/html и т.п.
2. Второй раздел
Текст статьи
Еще один пример текста программы
с сохранением переносов
Таблица
Заголовок Заголовок Заголовок
текст текст текст
Ссылки по теме • Ссылка на дополнительный источник информации внутренняя • Ссылка на дополнительный источник информации внешняя Дата создания: 04.07.2010 Автор(ы): Максим Дубинин