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 будет важной частью работы.