Есть ли Visual C ++, эквивалентный gcc --kill-at? - PullRequest
3 голосов
/ 20 марта 2010

А именно, имя DLL имеет в конце лишнюю @ 8, что вызывает проблемы. Очевидно, использование флага --kill-at в gcc решит эту проблему, но я не могу найти аналогичных предложений для MSVC.

РЕДАКТИРОВАТЬ: немного больше информации:

Я пытаюсь заставить работать C ++ JNI dll, но постоянно Исключение в потоке "Thread-0" java.lang.UnsatisfiedLinkError: eveTimers.PollThread.checkKeyboardChanges () V назад вместо работающей программы. Я использовал quickview, чтобы посмотреть на dll и обнаружил, что он украшен @ 8, что http://www.velocityreviews.com/forums/t143642-jni-unsatisfied-link-error-but-the-method-name-is-correct.html предполагает возможную проблему. Помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 20 марта 2010

[Отредактировано как неактуальное, согласно комментарию ниже].

Другой подход заключается в указании имен экспорта в файле .DEF .

Ваше соглашение о вызовах и настройки компоновщика также могут повлиять на это. Честно говоря, это черное искусство. Используйте MSVC в течение дюжины лет, и вы все равно время от времени сталкиваетесь с досадными проблемами, связанными с изменением имен, которые легко исправить, но на самом деле их нетривиально, учитывая взаимодействие различных настроек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...