OSGeo.GDAL.GdalPINVOKE исключение

Ответить
Aleksey_FL
Интересующийся
Сообщения: 23
Зарегистрирован: 29 май 2012, 20:39
Репутация: 0

OSGeo.GDAL.GdalPINVOKE исключение

Сообщение Aleksey_FL » 24 ноя 2014, 22:54

Добрый день, форумчане!
Я новичок в использовании Gdal под C#, но это очень нужно!
Подскажите пожалуйста, возникла следующая проблема. В Visual Studio 2013 через Nuget загрузил библиотеки Gdal (gdal_csharp, ogr_csharp, osr_csharp) и подключил их на странице с кодом - OSGeo.GDAL, OSGeo.OGR, OSGeo.OSR.
В результате при выполнении программы, компилятор мне выдал следующее исключение: Необработанное исключение типа "System.TypeInitializationException" в gdal_csharp.dll. Дополнительные сведения: Инициализатор типа "OSGeo.GDAL.GdalPINVOKE" выдал исключение).
Как я понимаю, там надо делать связку между управляемым и неуправляемым кодом, т.е. между C# и C++.
Пожалуйста, если можно пошагово объясните как настроить Visual Studio 2013 для разработки приложений с использованием Gdal.
Заранее спасибо!

Aleksey_FL
Интересующийся
Сообщения: 23
Зарегистрирован: 29 май 2012, 20:39
Репутация: 0

Re: OSGeo.GDAL.GdalPINVOKE исключение

Сообщение Aleksey_FL » 25 ноя 2014, 16:23

Неужели никто не знает как это сделать???
Хотя бы с VS12

glax2020
Активный участник
Сообщения: 175
Зарегистрирован: 19 ноя 2012, 15:59
Репутация: 6

Re: OSGeo.GDAL.GdalPINVOKE исключение

Сообщение glax2020 » 29 ноя 2014, 15:36

В Visual Studio 2012 вызываю программу на GDAL как внешний драйвер - обработчик. Драйвер компилируется без проблем ( http://trac.osgeo.org/gdal/wiki/DownloadSource ; правда код собираю немножко иначе, что через svn, что по инет ссылкам). Есть некоторые сложности при написании своей программы драйвера - обработчика на основе GDAL, но вероятно пример можно несложно найти в инете, а я почерпнул на какой то из конференций пару лет назад).

C уважением
Последний раз редактировалось glax2020 29 ноя 2014, 15:38, всего редактировалось 1 раз.

glax2020
Активный участник
Сообщения: 175
Зарегистрирован: 19 ноя 2012, 15:59
Репутация: 6

Re: OSGeo.GDAL.GdalPINVOKE исключение

Сообщение glax2020 » 29 ноя 2014, 15:36

...

Aleksey_FL
Интересующийся
Сообщения: 23
Зарегистрирован: 29 май 2012, 20:39
Репутация: 0

Re: OSGeo.GDAL.GdalPINVOKE исключение

Сообщение Aleksey_FL » 30 ноя 2014, 01:29

Большое спасибо за ответ!
А можно попотробней! Внешний драйвер обработчик - это имеется в виду библиотека?
И я не знаком с С++, пишу на С#. Как мне скомпилировать драйвер, так как по ссылке находится набор C++ файлов разных версий?

Подскажите плиз.

trir
Гуру
Сообщения: 4386
Зарегистрирован: 09 апр 2010, 19:30
Статьи: 1
Репутация: 801
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: OSGeo.GDAL.GdalPINVOKE исключение

Сообщение trir » 30 ноя 2014, 08:44

для начало надо прописать пути для библиотек, в систему
viewtopic.php?f=30&t=12491&hilit=+gdal
Пример: viewtopic.php?f=1&t=14515&hilit=+NET

glax2020
Активный участник
Сообщения: 175
Зарегистрирован: 19 ноя 2012, 15:59
Репутация: 6

Re: OSGeo.GDAL.GdalPINVOKE исключение

Сообщение glax2020 » 30 ноя 2014, 11:20

Aleksey_FL писал(а):Большое спасибо за ответ!
А можно попотробней! Внешний драйвер обработчик - это имеется в виду библиотека?
И я не знаком с С++, пишу на С#. Как мне скомпилировать драйвер, так как по ссылке находится набор C++ файлов разных версий?

Подскажите плиз.
для информации:

там в корне файл типа: makegdal_gen.bat

а там примеры, как:

makegdal_gen 7.10 32 ^> makegdal71.vcproj

для создания проекта. И проект после просто компилируется

Я тоже в основном пишу на c#, но тема создание собственной программы на основе GDAL нетривиальная вещь -- надо искать пример и на его основе делать свое. Пример возможно можно и на этом форуме найти. Я начал работать с примером 2 года назад примерно, и пару раз уже пришлось его хлопотливо пересобирать на предмет правильно входящих в него dll и lib файлов и настроек -- но за день - два все можно настроить и настраивается (включая время затрачиваемое в инете на разбор нетривиальных проблем).

Я тоже не большой специалист, но есть здесь на форуме подробные инструкции, какие требуются для компиляции библиотеки и прочее -- это можно поискать. Но мне кажется вариант через компиляцию GDAL по указанной ссылке, это более перспективный, простой вариант (в плане обновления, доступа к исходному коду и возможности отладки и развития).

Но возможно более просто воспользоваться уже существующими библиотеками, на которые и Вы ссылаетесь. Мне затруднительно определить что реально окажется более простым, и каковы Ваши задачи и потребности.

С уважением

Aleksey_FL
Интересующийся
Сообщения: 23
Зарегистрирован: 29 май 2012, 20:39
Репутация: 0

Re: OSGeo.GDAL.GdalPINVOKE исключение

Сообщение Aleksey_FL » 01 дек 2014, 00:10

Спасибо за помощь!

Onatyt
Новоприбывший
Сообщения: 2
Зарегистрирован: 18 янв 2015, 23:50
Репутация: 0

Re: OSGeo.GDAL.GdalPINVOKE исключение

Сообщение Onatyt » 22 окт 2015, 18:05

Столкнулась с такой же проблемой. Объясните пожалуйста как вы ее решили?

Ответить

Вернуться в «GDAL/OGR»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость