Этот lib (jzmq) является обязательным для родной библиотеки libzmq. Если вы не используете функции libzmq (например, ipc), вам лучше использовать полную реализацию java - jeromq (mvnrepo, jeromq git). Он имеет почти ту же функциональность.
В противном случае, если вам нужно jzmq, вы должны скомпилировать его должным образом. Так я скомпилировал его на окнах x64:
Для создания библиотеки вам нужна IDE Visual Studio 2010 или выше. В этом примере я использовал версию 2013 года. Все работы выполняются в каталоге C:\zmq
(например).
- Получить источники zeromq, jzmq и libsodium-1.0.10.
- Скопируйте все содержимое каталога zeromq в
C:\zmq
.
- Создать каталог
C:\zmq\java
.
- Скопируйте все содержимое каталога jzmq в
C:\zmq\java
.
- Создание каталогов
C:\zmq\libsodium
и C:\zmq\libsodium
- Копировать в
C:\zmq\libsodium\bi
п libsodium-1.0.10-msvc\Win32
и libsodium-1.0.10-msvc\x64
каталогов.
- Создать каталог
C:\zmq\libsodium\src
.
- Копировать в
C:\zmq\libsodium\src directory
libsodium-1.0.10-msvc \ include.
Zeromq.
Открыть в Visual Studio соответствующий файл решения zeromq из каталога C:\zmq\builds\msvc
.
Открыть диспетчер конфигурации. Активные конфигурации - выберите DynRelease. Активная платформа решений - выберите x64.
Откройте страницу свойств проекта, перейдите в Свойства конфигурации - C/C++ - Общие, проверьте пути для каталогов файлов include.
Затем выберите компоновщик - Общие и проверьте пути для каталогов библиотек.
В файле конфигурации C:\zmq\builds\msvc\vs2013\libsodium.import.props
правильный путь в разделе.
Тогда заработайте, если все было правильно, вы получите dlls в каталоге C:\zmq\bin\x64\Release\v120\dynamic
. Если это не так - проверьте журналы, внесите изменения и перестройте их.
Jzmq.
Теперь откройте соответствующий файл jzmq решения из каталога C:\zmq\java\builds\msvc\
Как и в менеджере открытой конфигурации ZeroMQ проекта и выберите Release и платформу x64.
Откройте страницу свойств проекта, перейдите в «Свойства конфигурации» - «Каталоги VC++» и проверьте, что путь, в котором установлен ваш JDK, является правильным. Вы себе там что-то вроде этого:
..\..\..\..\include;C:\Program Files\Java\jdk1.7.0_71\include;C:\Program
Files\Java\jdk1.7.0_71\include\win32;$(IncludePath)
Также проверьте, что Библиотека Каталоги (забыла его имя) путь включает путь к каталогу со встроенным ZeroMQ LIBS. Это будет выглядеть следующим образом:
..\..\..\..\bin\x64\Release\v120\dynamic;$(LibraryPath)
На странице свойств перейдите в Свойства конфигурации - сборочные событий - событие перед сборкой и проверить свойство «Командная строка» (первый из всех проверочных путей к файлам в команде копирования). Это будет выглядеть следующим образом:
copy ..\config.hpp "..\..\..\src\main\c++\"
Тогда Buid jzmq, если бы все было правильно, вы получите файлы в C:\zmq\java\lib
.
Если это не так - проверьте журналы, внесите изменения и перестройте их.
В C:\zmq
вам нужно только бен java\lib
каталоги, остальные могут быть удалены.
Добавить в PATH путь к bin\x64\Release\v120\dynamic
и запустить вас Java приложение с -Djava.library.path="path_to_java\lib"