2016-04-15 2 views
0

Мне нужно использовать скомпилированную dll cygwin из Visual Studio C++ или Code: блокирует MinGW.Загрузите dll cygwin C++, вызовите функции класса

Я загрузил cygwin1.dll и некоторые другие dll, которые были необходимы, например cyggcc_s-seh-1.dll, cygstdc++-6.dll и другие. Моя DLL загружается нормально. Я могу получить любой указатель на функцию GetProcAddress, но моя проблема в том, что

Моя dll - это dll C++ с множеством классов. я включил необходимые заголовки Но (как я могу догадаться, какая функция есть кто) У меня есть различные соглашения о вызовах

000000051a5ae590 T _ZN6eq_res8is_breakEv 
000000051a5ae810 T _ZN6eq_res8is_emptyEP5EqAdr 
000000051a5ae700 T _ZN6eq_res8is_localEP5EqAdr 
000000051a5b00c0 T _ZN6eq_res8monitorsEv 
000000051a5af4e0 T _ZN6eq_res8req_cardEi 
000000051a5af560 T _ZN6eq_res8ret_cardEv 
000000051a5ae540 T _ZN6eq_res8set_exitEv 
000000051a5ae9d0 T _ZN6eq_res9check_refEP6eq_svr 
... 

Как я могу изменить функцию соглашения о вызовах для загруженной DLL или проекта в Visual C++? или, как я могу объявить конструктор вызова объекта, деструктор для объекта и использовать другие функции класса из dll?

Спасибо.

ответ

0

Смешивание визуальных Stusio и Cygwin означает поиск проблем. Некоторые советы приведены здесь

https://cygwin.com/faq.html#faq.programming.msvs-mingw

Но помните, что эти два мира использует различные соглашения и для 64-битного также разного размера типа.

https://cygwin.com/faq.html#faq.programming.64bitporting

+0

Спасибо моему Cygwin длл это 64 бит, может быть, это проблемы, но, к сожалению, я начал и должен закончить, я думаю, что смогу преодолеть типы от макросами, и еще одна вещь, я не мог сделать работу 'printf' или' cout', которые работают с терминалами. – user3548808

Смежные вопросы