2014-10-27 1 views
1

когда я запускал мое приложение, я получил вышеуказанную ошибку, у меня есть libusb-1.0 .dll файл в C:/windows/System32/ папка. но хотя мое приложение не нашло пути для libusb-1.0.dll. Я не знаю о родной библиотеке. Пожалуйста, помогите мне об этом.Вызвано: org.usb4java.LoaderException: родная библиотека не найдена в пути к классам: /org/usb4java/windows-x86/libusb-1.0.dll

Где я должен разместить этот файл dll?

ответ

1

Если у вас 64-разрядная ОС, вам, вероятно, придется поместить ее в папку SysWow64 (на том же уровне, что и System32). Но, вероятно, лучше просто поместить его в ту же директорию, что и исполняемый файл.

Причина, по которой это может сработать, заключается в том, что System32, несмотря на имя, содержит все 64-разрядные и 32-разрядные приложения (которые запускаются в режиме совместимости) перенаправляются вместо использования SysWoW64 (из которых mos dll thunk вызывает вызовы через 64-битные библиотеки в системе32).

+0

Я использую только 32-битные окна 7 .. – kondapaka

+0

Вы проверили переменную PATH? введите «echo% PATH%» в командной строке. Чтобы узнать, содержит ли он System32? Если нет, вам нужно добавить его. Щелкните правой кнопкой мыши «Компьютер» в боковой панели любой папки и перейдите к расширенным системным настройкам -> Кнопка «Переменные среды» -> Выберите путь в системных переменных, затем добавьте его в переменную (это список, разделенный точкой с запятой). Я не уверен, что это сработает, я подозреваю, что ваш компьютер даже не загрузится, если его там не будет. Но это все, о чем я могу думать! – mushmillow

+0

да у меня есть system32 в пути. – kondapaka