unowinreg.dll: не удается загрузить 32-разрядный файл.dll на 64-разрядной платформе amd

Я совершаю первый набег на UNO, и после неудачной попытки (основной проблемы с загрузчиком) я вернулся к основам и пытаюсь следовать руководству для начинающих.

https://wiki.openoffice.org/wiki/Documentation/DevGuide/FirstSteps/First_Contact

Я использую Java на Eclipse в Windows 7 64 бит. Я изменил build.xml для Windows (и Office 4) и, хотя я не эксперт, я думаю, что сделал это успешно - приложение собирается и пытается работать.

Изначально я получил ошибку -

Исключение в потоке "main" java.lang.UnsatisfiedLinkError: нет unowinreg в java.library.path

Я скопировал unowinreg.dll из SDK в папку system32, и теперь я получаю эту ошибку

unowinreg.dll: не удается загрузить 32-разрядный файл.dll на 64-разрядной платформе amd

Я не могу найти ничего об этой ошибке с 2012 года, но я предполагаю, что должен быть способ запустить uno api на Windows 64? SDK, который я скачал, 4.1.1, поэтому он актуален. Я использую старый подход, и мне нужно попробовать что-то другое или?!

Благодарю.

1 ответ

Просто для справки для всех остальных (не стесняйтесь исправить это, если это не так).

OpenOffice / UNO является 32-битным, и не существует простого способа использовать его в Java-приложениях, разработанных и работающих на 64-битной Windows (начиная с OO 4.1.1). Оглядываясь вокруг, кажется, есть способ загрузки dll (например, см. Комментарий Jordi forum.lwjgl.org/index.php?topic=3585.0), но это выглядит слишком сложным для моего текущего уровня понимания, и я подозреваю, что это требует некоторых довольно продвинутые знания (еще раз поправьте меня, если я ошибаюсь).

В конце концов я вернулся к использованию Jasper (студия Jaspersoft). Что позволяет сохранять в формате odt.

Это не очень умный ответ, но я надеюсь, что это кого-то спасет, так как я не нашел ясного из своих первоначальных поисков, что использование open office в java-приложении на 64-ом устройстве, но Windows будет важной частью работы.

Другие вопросы по тегам