0

尝试按照此处找到的说明为 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 将不胜感激。

4

1 回答 1

0

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

于 2013-03-04T14:16:20.220 回答