mvsc dll w mingw

  • Rejestracja: dni
  • Ostatnio: dni
0

Witam!

Mam problem: Korzystam z rabbit mq pod c/c++. Większość biblioteki/ a raczej ich projekty są przygotowane w visual studio.

Tak więc, ściągnąłem wersje express, skompilowałem projekt i dostałem niezbędną dll'ke. Problem polega na tym, że potrzebuje ją zlinkować w mingw.

Proces kompilacji i linkowania przebiega ok - natomaist przy uruchomieniu (ich example) dostacje segfault'a.

Czy możliwe jest linkowanie DLL (pisanych w C oczywiście bo c++ to inna bajka) kompilowanych przez kompilatory microsoftowe w projektach kompiowanych w mingw?

Pozdrawiam

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
0

Jest możliwe, coś źle robisz.

KR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 353
0

Jak juz masz gotowa dllke to nie ma znaczenia jakim kompilatorem zostala skompilowana. Wszystkie dane i tak sa czytane z naglowka i tablicy eksportow dllki. Tam masz info o nazwach funkcji i offsetach potrzebne do odwolania sie do nich. Sprawdz czy na pewno znajduje sciezke i czy zostaje zaladowana poprawnie.

  • Rejestracja: dni
  • Ostatnio: dni
0

powalczyłem z tym trochę, cmake wygenerował mi make file do mingw i poszło bez błędów.

A czy przypadkiem nie jest tak, ze mingw inaczej przekazuje parametry do funkcji? tj nie stdcallem, tylko inaczej?

szczególnie, że biblioteka jest linkowana podczas kompilacji, a nie ładowana w run-time'ie

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
0

A czy przypadkiem nie jest tak, ze mingw inaczej przekazuje parametry do funkcji? tj nie stdcallem, tylko inaczej?

Oba kompilatory stosują domyślnie cdecl. Jeśli chcesz mieć stdcall, trzeba to jawnie napisać.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.