На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Ошибка при сборке плагина для Панорамы 12.4.4 x64

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: 1
RSS
Ошибка при сборке плагина для Панорамы 12.4.4 x64, Ошибка в сборке.
 
Подскажите, что я делаю не так. Среда разработка MSVS 14 2015 x64. Пытаюсь написать подключаемый плагин (dll) для Панорамы. Написал класс наследовал его от TPanTask.
При сборке получаю следующие ошибки.
2>MapModel.obj : error LNK2019: unresolved external symbol "public: __cdecl TPanTask::TPanTask(__int64,struct TASKPARM *,char const *)" (??0TPanTask@@QEAA@_JPEAUTASKPARM@@PEBD@Z) referenced in function "public: __cdecl MapModel::MapModel(__int64,struct TASKPARM *,char const *)" (??0MapModel@@QEAA@_JPEAUTASKPARM@@PEBD@Z)
2>MapModel.obj : error LNK2019: unresolved external symbol "public: virtual __cdecl TPanTask::~TPanTask(void)" (??1TPanTask@@UEAA@XZ) referenced in function "public: virtual __cdecl MapModel::~MapModel(void)" (??1MapModel@@UEAA@XZ)
2>MapModel.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl TPanTask::ViewHelp(int,char const *)" (?ViewHelp@TPanTask@@UEAAXHPEBD@Z)
2>MapModel.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl TPanTask::CloseAction(int)" (?CloseAction@TPanTask@@UEAAXH@Z)
2>MapModel.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl TPanTask::DestroyAction(int)" (?DestroyAction@TPanTask@@UEAAXH@Z)
2>MapModel.obj : error LNK2001: unresolved external symbol "public: virtual __int64 __cdecl TPanTask::GetAction(int,int)" (?GetAction@TPanTask@@UEAA_JHH@Z)
2>MapModel.obj : error LNK2001: unresolved external symbol "public: virtual int __cdecl TPanTask::EnableAction(int,struct TPanTask::TCommandEnabler &)" (?EnableAction@TPanTask@@UEAAHHAEAUTCommandEnabler@1@@Z)
2>MapModel.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl TPanTask::RestartAction(int)" (?RestartAction@TPanTask@@UEAAXH@Z)
2>MapModel.obj : error LNK2001: unresolved external symbol "public: virtual int __cdecl TPanTask::PanelCanClose(int)" (?PanelCanClose@TPanTask@@UEAAHH@Z)

Понятно, что он не может разименовать фунции в dll mapapi. Пробовал  ликовать, как написано в мануале след библиотеку
из скаченного SDK gislib12x64vc/gislib12x64vc/gisu64vcacces.dll
получаю ошибку
gislib12x64vc\gislib12x64vc\gisu64vcacces.dll : fatal error LNK1107: invalid or corrupt file: cannot read at 0x4C0
Пробую
Panorama12/mapacces64.dll из папки с установленной Панорамой
ошибка тажа.

Подскажите, какую библиотеку необходимо линковать?
 
Если Вы пишите прикладную задачу для ГИС Панорама 12, то Вы должны работать исключительно с ее библиотекой mapacces64.dll.

Ошибка линковки этой библиотеки у Вас возникает из-за отличия в стандартах самих библиотек (COFF и OMF).
Библиотека mapacces64.dll имеет формат OMF, тогда как Microsoft поддерживает свой стандарт - COFF.
Проблема уже обсуждалась на нашем форуме - http://gisweb.ru/forum/forum2/topic7035/messages/
Статически прилинковать LIB, полученный из DLL неродного для VS формата можно только используя специально созданный для этого файл LIB.
Стандартные средства, генерирующие статическую библиотеку lib по готовой dll, с этим, к сожалению не справляются.

Для библиотек gisacces.dll (GIS ToolKit 11) и gisuacces.dll (GIS ToolKit 12 x32) такие статические библиотеки собраны и выложены у нас на сайте (gisacceslib11.zip и gisacceslib12.zip соответственно).
В ближайшее время соберем аналогичные *.lib для mapacces64.dll и gisu64acces.dll и выложим на сайте.
 
Я так понял, что есть вариант динамического вызова функций из библиотеки mapacces64.dll
Изменено: Evgenij Orlov - 06.04.2017 16:29:37
 
Цитата
Evgenij Orlov написал:
Я так понял, что есть вариант динамического вызова функций из библиотеки mapacces64.dll
Да, динамический вызов (LoadLibrary) не зависит от стандарта библиотеки.  
 
Библиотека LIB для статической линковки для mapacces64.dll добавлена в "Примеры разработки приложений в ГИС Панорама 12" - SDK12.

Также в  Примеры разработки приложений в ГИС "Панорама" 12 (SDK12) добавлен пример разработки задач в среде Visual Studio.
 
здравствуйте! Хочу открыть уже созданную карту выдает ошибку mapacces64.dll Как мне устранить эту проблему? Раньше не было такой проблемы! Сегодня обновила программу до версии 12.5.2! и все теперь
 
Цитата
Амина Айбазова написал:
здравствуйте! Хочу открыть уже созданную карту выдает ошибку mapacces64.dll Как мне устранить эту проблему? Раньше не было такой проблемы! Сегодня обновила программу до версии 12.5.2! и все теперь
Просьба уточнить в какой программе работаете .
 
Цитата
Амина Айбазова написал:
здравствуйте! Хочу открыть уже созданную карту выдает ошибку mapacces64.dll Как мне устранить эту проблему? Раньше не было такой проблемы! Сегодня обновила программу до версии 12.5.2! и все теперь

Про какой продукт идет речь?

C какой версии обновляли?

Что за ошибка?

У Вас написана своя прикладная задача? Ошибка выдается при ее запуске?
Страницы: 1
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности