Название: Создание qt dll для проекта в msvc Отправлено: erinyes от Апрель 05, 2013, 10:46 Дали задачу напиcать dll с gui, которая будет использоваться в проекте под студией. Я поразбирался и решил для начала сделать их примитивными, чтобы посмотреть, все ли будет нормально грузится и возникла проблема.
dll грузится явно, возвращает функцией указатель на абстрактный класс, внутри dll создается производный, exe вызывает виртуальные методы. Почему-то, метод show, который определен в производном класс как QDialog::show() падает с exception'ом. Попробовал добавить метод с QList, который просто печатает число элементов - метод работает. Попробовал загрузить эту библиотеку в QtCreator'e и в codegear builder'е - вообще все работает. А под студией падает. Хотелось бы услышать что может быть не так и/или какие у меня вообще альтернативы. ps. Надеюсь, написал в нужный топик, хотя вопрос не совсем по Qt. Название: Re: Создание qt dll для проекта в msvc Отправлено: Bepec от Апрель 05, 2013, 10:51 Мало кода, много букв.
Название: Re: Создание qt dll для проекта в msvc Отправлено: erinyes от Апрель 05, 2013, 12:11 абстрактный класс
Код
dll Код
Код
exe Visual Studio 2010 Код
А, да, забыл. dll делается в QtCreator'е с mingw Название: Re: Создание qt dll для проекта в msvc Отправлено: alex312 от Апрель 05, 2013, 15:18 А, да, забыл. dll делается в QtCreator'е с mingw Люди !!! Не смешивайте Название: Re: Создание qt dll для проекта в msvc Отправлено: erinyes от Апрель 05, 2013, 16:04 Да понимаю, можно поменьше "!". Попробую с помощью студийного компилятора собрать.
А вообще, нормально так делать? Или как-то по-другому лучше? Вообще, dll далеко не всегда совместимы, правильно понимаю (я читал про всякие заморочки с .def файлами)? Название: Re: Создание qt dll для проекта в msvc Отправлено: alex312 от Апрель 05, 2013, 21:31 http://en.wikipedia.org/wiki/Name_mangling
Название: Re: Создание qt dll для проекта в msvc Отправлено: erinyes от Апрель 05, 2013, 22:38 http://en.wikipedia.org/wiki/Name_mangling Не, это понятно, хотя статью я прочитаю попозже целиком обязательно. Хотя в моем случае, я думаю, это не причем, потому что экспортная функция нашлась и вызвалась нормально. А что причем - я не знаю. Но, спасибо, в любом случае.В общем, буду собирать под msvc |