![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
ohos |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 13.12.2010 Репутация: нет Всего: нет |
Привет, я пытаюсь динамически прилинковать к своему проекту zlib.dll версии 1.1.3, как это делать прочитал в руководстве на другом форуме, сделал также, но при вызове функции из dll которая зовется Inflate возникает ошибка access violation. Архив со всем проектом приложил (он не большой), ошибка возникает в фунцкии:
но почему она возникает, если проверки при подключении dll не возвращают ошибок, что-то сделано неправильно еще? Это сообщение отредактировал(а) ohos - 4.2.2012, 22:46 Присоединённый файл ( Кол-во скачиваний: 3 ) ![]() |
|||
|
||||
Dem_max |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
Как ты думаешь есть разница ???
Вот ты говоришь мол хочу импортировать такую функцию
в zlib.dll экспортируется такую функцию
Чё разницы совсем что ли не видно ????? -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
||||
|
|||||
ohos |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 13.12.2010 Репутация: нет Всего: нет |
я в этом деле новичок, тогда как правильно указать импорт?
|
|||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
делать как указано в zlib.h
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
ohos |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 13.12.2010 Репутация: нет Всего: нет |
нашел в нем
нашел описание ZEXTERN в zconf.h в виде
если я правильно понял, то экспорт идет с указанием слова extern, которое судя по msdn указывает линкеру, что код написан на другом языке http://msdn.microsoft.com/query/dev10.quer...%29&rd=true , если я правильно понял, то при объявлении переменных мне нужно добавить также слово extern в
но так работать тоже не хочет, жалуется на неразрешенный внешний символ, но ошибка появляется только при компиляции, статический анализ её не выдает, не понимаю как правильно указывать импорт в данной ситуации, если можно, то ![]() |
||||||
|
|||||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
не правильно понял. ключевой момент тут в ZEXPORT |
|||
|
||||
ohos |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 13.12.2010 Репутация: нет Всего: нет |
Не понимаю что с ним делать
![]()
это открывается если перейти к объявлению ZEXPORT, эту конструкцию я тоже не понимаю, она объявляет сама себя если объявлена? ![]() |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
ohos, нет слов...
ты даже поиском по документу пользоваться не умеешь %)
выполни поиск ZEXPORT |
|||
|
||||
ohos |
|
||||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 13.12.2010 Репутация: нет Всего: нет |
прошу прощения, но объявление ZEXPOR было первым, что я полез искать, откуда был взят указанный вами код zconf.h ? в файле от моего проекта он отличается, в частности я искал по "define ZEXPORT WINAPI" средствами визуал студии 2010 в текущем документе, после открытия zconf.h - и там нету
судя по комменту в коде
он от zlib1.dll более ранних версий, а в теме я указывал, что работаю со старой версией 1.1.3 - именно по ней вы можете подсказать? примерный исходник я прикладывал в архиве со всем проектом (примерный, потому-что у меня нет уверенности в том, что dll которая есть собрана именно из такого исходника, возможно он где-то отличался) Это сообщение отредактировал(а) ohos - 11.2.2012, 17:26 |
||||
|
|||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
из исходников zlib-1.2.6 у тебя возможно версия другая. но факт в том, что ZEXPORT объявлен не так, как в твоем предыдущем посте. ясно. что мешает самому собрать свежую версию? там делов на пять минут. позже смогу глянуть твой архив. |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
пример в аттаче.
при использовании G++ собирать так: >g++ -I. -DZLIB_DLL -DWINDOWS main.cpp -omain для микрософтстудии - не знаю. Присоединённый файл ( Кол-во скачиваний: 7 ) ![]() |
|||
|
||||
ohos |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 13.12.2010 Репутация: нет Всего: нет |
||||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
враки. начиная с 0.96 все версии совместимы. |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
ohos, и чего ждешь? в архиве пример с твоей старой злибой ;)
|
|||
|
||||
ohos |
|
||||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 13.12.2010 Репутация: нет Всего: нет |
boostcoder крайне признателен за пример), в вузе как раз с++ начался, некоторые вещи тоже стали более понятными, но у меня все же со студией осталась сейчас одна сложность, в куске кода:
она пишет ошибку "Необработанное исключение в "0x10005cb0" в "AnotherTest.exe": 0xC0000005: Нарушение прав доступа при чтении "0xbf244736".", сама strm объявляется выше в той же функции
strm не видна за пределами функции? но ведь & на сколько я знаю передает адрес (или ссылку) на уже существующие данные, а не создает копию, в чем может быть проблема? Это сообщение отредактировал(а) ohos - 26.2.2012, 00:02 |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |