x64用于Windows 7的ZeroMQ jzmq构建过程

时间:2013-02-28 14:37:53

标签: java windows 64-bit zeromq

尝试按照此处的说明为mw windows 7(64位)构建jzmq: http://www.zeromq.org/bindings:java(底部有一个特定于Win 64机器的部分) 当我到达第5步“安装NSIS后,你可以跳转来构建软件包或只是构建库。” 100%构建后,我收到一长串未解析的外部符号: 例如:

Linking CXX shared library lib\jzmq.dll
Creating library lib\jzmq.lib and object lib\jzmq.exp
Context.cpp.obj : error LNK2019: unresolved external symbol _zmq_errno reference
d in function _Java_org_zeromq_ZMQ_00024Context_construct@12
Socket.cpp.obj : error LNK2001: unresolved external symbol _zmq_errno
Context.cpp.obj : error LNK2019: unresolved external symbol _zmq_init referenced
 in function _Java_org_zeromq_ZMQ_00024Context_construct@12
Context.cpp.obj : error LNK2019: unresolved external symbol _zmq_term referenced
 in function _Java_org_zeromq_ZMQ_00024Context_finalize@8
Poller.cpp.obj : error LNK2019: unresolved external symbol _zmq_poll referenced
in function _Java_org_zeromq_ZMQ_00024Poller_run_1poll@24

我在系统路径变量中设置了C:\ zmq \ zeromq-3.2.2 \ lib \ x64。我修改了第101行的CMakeLists.txt指向我的zeromq-3.2.2目录,即

include_directories(
#   /zeromq/zeromq-2.1.10/include
    /zmq/zeromq-3.2.2/include
    ${JNI_INCLUDE_DIRS}
)
link_directories(
#   /zeromq/zeromq-2.1.10/build/lib
#   /zeromq/zeromq-2.1.10/build64/lib
    /zmq/zeromq-3.2.2/lib/x64
)

我认为还有另一个路径变量缺失或我的CMakeLists.txt内部指向错误的位置,但目前我不确定我应该寻找什么。 任何帮助我的jzmq构建的帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我最终使用Visual Studio 2010 pro而不是CMake。我为x64设置了一个新的构建配置并复制了所有32位设置,然后确保将库和资源变量定义到它们的位置,并且没有构建任何问题。对不起CMake,下次好运。