Я пишу некоторый код JNI на C ++, который будет вызываться из апплета в Windows XP. Я смог успешно запустить апплет и загрузить и вызвать библиотеку JNI, даже если бы он вызывал функции в других DLL. Я добился этого, настроив системную переменную среды PATH для включения каталога, в котором находятся все мои DLL.
Итак, проблема в том, что я добавляю еще один вызов, который использует новую внешнюю DLL, и внезапно при загрузке библиотеки выдается UnsatisfiedLinkError. Сообщение: «Указанная процедура не найдена». Похоже, что это не проблема с отсутствующей зависимой DLL, потому что я могу удалить зависимую DLL и получить другое сообщение об отсутствии зависимой DLL. Из того, что я смог найти в Интернете, видно, что это сообщение означает, что в DLL отсутствует реализация нативной функции Java, но странно, что она прекрасно работает без этого дополнительного куска кода.
Кто-нибудь знает, что может быть причиной этого? Какие вещи могут выдавать сообщения «Указанная процедура не найдена» для ошибки UnsatisifedLinkError?