Меню
+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
|
||||
|
Проблемы с примером для LTR212Ссылки на архивы ex114.7z и ex212.7z: http://krym52.ru/k-forumu-lcard/ Крейт LTR-EU-8-1 содержит 3 модуля LTR114 в первых трех слотах и два модуля LTR212M-2 в слотах 4 и 5. |
|||
|
||||
|
Re: Проблемы с примером для LTR212
Не совсем понятно, что именно не получилось. Если Вы используете компилятор mingw 32-бит, то нужно использовать файлы из директории <путь установки ltrdll>/lib/mingw и прописать ключи -L<путь к файлам библиотек> и -lltr212api (-l<имя библиотеки без lib и .a>). Для проекта на qmake (как у Вас в примере) это нужно присвоить переменной LIBS в .pro файле (LIBS += -Lпуть -lltr212api). Если не получится, то напишите точно как подключаете и какие сообщения выдаются при компиляции проекта. По поводу же Вашего способа динамической загрузки библиотеки и ее функций, то так можно делать, но в Ваших примерах есть проблема, что в объявлении не указаны соглашения вызова. Объявления в ltrapi используют макрос APIENTRY, который соответствует соглашению вызова stdcall, а соглашение вызова по умолчанию в C - cdecl. Из-за несоответствия соглашений в программе и библиотеке портится память, что и приводит к падению (для ltr114 это тоже справедливо, то, что в его примере не падет, это можно сказать повезло). Соответственно во все typedef для функций ltrapi нужно добавить APIENTRY, например:
|
Страницы 1
Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2
Многоканальный телефон:
+7 (495) 785-95-25
Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru
Время работы: с 9-00 до 19-00 мск