crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> C# dll и Qt
MJIbIu
  опции профиля:
сообщение 2.7.2010, 14:29
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 38
Регистрация: 14.4.2010
Пользователь №: 1630

Спасибо сказали: 3 раз(а)




Репутация:   0  


По работе пришел новый приборчик к нему две .dll написано на Java и C#.
все бы ничего тока вот наш проект написан на Qt.
Возник вопрос как прикрутить dll к проекту написанному на Qt.
гуглил ничего толком не нашел
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 2.7.2010, 16:25
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(MJIbIu @ 2.7.2010, 18:29) *
Возник вопрос как прикрутить dll к проекту написанному на Qt.
также как и прикручиваются другие dll. только не забыть таскать со своим проектом среды выполнения для Сишарп и Явы (.Net Framework и JRE, соответсвенно)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DIMEDROLL
  опции профиля:
сообщение 6.7.2010, 8:06
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 165
Регистрация: 28.9.2008
Из: Киев
Пользователь №: 304

Спасибо сказали: 23 раз(а)




Репутация:   0  


ищи по ключевому слову dllimport
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
MoPDoBoPoT
  опции профиля:
сообщение 6.7.2010, 11:21
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 172
Регистрация: 7.5.2009
Из: Москва
Пользователь №: 738

Спасибо сказали: 44 раз(а)




Репутация:   9  


Вот ссылка в помощь: Написание и использование DLL в различных средах
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
MJIbIu
  опции профиля:
сообщение 7.7.2010, 10:17
Сообщение #5


Студент
*

Группа: Участник
Сообщений: 38
Регистрация: 14.4.2010
Пользователь №: 1630

Спасибо сказали: 3 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 2.7.2010, 17:25) *
Цитата(MJIbIu @ 2.7.2010, 18:29) *
Возник вопрос как прикрутить dll к проекту написанному на Qt.
также как и прикручиваются другие dll. только не забыть таскать со своим проектом среды выполнения для Сишарп и Явы (.Net Framework и JRE, соответсвенно)


CODE
QLibrary lib("D:\\MyPro\\MercuryAPI.dll");
if(!lib.load())
{
qDebug() << "\n Library is not loaded \n";
return false;
}
else
qDebug() << "\n Library is loaded \n";

все пучком подключается. Дальше я так понял надо делать lib.resolve() а как я не знаю. http://forum.sources.ru/index.php?showtopic=150368&hl= - мне не совсем подходит т.к. dll написано на C#. Переписывать ее в С++ себе дороже хоть и есть исходники.

Написание и использование DLL в различных средах - интересно но опять рядом но не то
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 7.7.2010, 11:57
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


как я понимаю в dll'ках всё должно быть одинаково, имена функций и т.п.
открой эту dll'ку в Dependency Wallker, посмотри как там выглядят имена
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DIMEDROLL
  опции профиля:
сообщение 7.7.2010, 12:08
Сообщение #7


Участник
**

Группа: Участник
Сообщений: 165
Регистрация: 28.9.2008
Из: Киев
Пользователь №: 304

Спасибо сказали: 23 раз(а)




Репутация:   0  


MJIbIu,
тут говорится:
Цитата
Давайте все таки определимся, чего вы хотите?
Импортировать библиотеку native-кода, написанную на C, или создать собственную библиотеку на C#, чтобы использовать ее функционал в unmanaged-коде?
Первое называется PInvoke и элементарно реализуется, второе - невозможно без инициирования CLR в unmanaged-процессе, исключение лишь составляют COM-объекты (для них ОС сама разворачивает CLR).

тоесть это невозможно
upd: разве что использовать COM

еще набрел на статью
но тут автор скорее всего перепутал С++ с С++ CLI(или как там его, тот что managed C++), еще почитаю статью...
upd: дочитал, автор утверждает что это unmanaged С++(Blitz в оригинальной статье)
по идее должно работать
попробуй сделать как там написано и отпишись получилось ли
исходный код лучше брать с англ. варианта статьи

Сообщение отредактировал DIMEDROLL - 7.7.2010, 12:41
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
MJIbIu
  опции профиля:
сообщение 7.7.2010, 13:52
Сообщение #8


Студент
*

Группа: Участник
Сообщений: 38
Регистрация: 14.4.2010
Пользователь №: 1630

Спасибо сказали: 3 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 7.7.2010, 12:57) *
как я понимаю в dll'ках всё должно быть одинаково, имена функций и т.п.
открой эту dll'ку в Dependency Wallker, посмотри как там выглядят имена

что то странное :blink:
нету ни экспортируемых и импортируемых функций
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 7.7.2010, 14:15
Сообщение #9


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


никогда с таким не сталкивался
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
MJIbIu
  опции профиля:
сообщение 7.7.2010, 14:20
Сообщение #10


Студент
*

Группа: Участник
Сообщений: 38
Регистрация: 14.4.2010
Пользователь №: 1630

Спасибо сказали: 3 раз(а)




Репутация:   0  


Цитата(DIMEDROLL @ 7.7.2010, 13:08) *
еще набрел на статью

тоже читал отверг его с начало теперь по возился с ним разобрал в IL изменил а собрать обратно не смог =)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 23.11.2024, 3:33