Próbuję skompilować bibliotekę Java, która używa JNI. Kiedy uruchamiam program, widzę awarię z UnsatisfiedLinkError, która mówi, że określonej metody nie można znaleźć w bibliotece DLL.g ++: Jak rozłączyć wyeksportowane symbole
Po bliższym przyjrzeniu się dowiedziałem się, że g ++, którego używam do kompilacji i łączenia, zawikłało moje nazwy metod poprzez dodanie przyrostków takich jak "@ 8" lub "@ 16" do nazw metod. Czy ktoś zna poprawne opcje kompilatora, aby wyłączyć mangling nazwy? Z góry dziękuję!
EDIT: Używam wtyczki MinGW przez wtyczkę Eclipse + CDT.
Wielkie dzięki! To w końcu rozwiązało mój problem. W tym parametrze jest dostępna dekorowana i nieskażona wersja dla każdej metody w bibliotece DLL, a programy Java działają: D –
@Mavrik dziękuję za wypełnienie tego, znałem problem, ale nie rozwiązanie. – bmargulies