On 10.01.2017 23:04, Luca Boccassi wrote:
Gaaaah. Why, gcc, why!!

You need to pass the source file BEFORE the linker flags.

This works:

g++ Discovery.cpp `pkg-config --libs --cflags libzmq` -o test

This fails:

g++ `pkg-config --libs --cflags libzmq` Discovery.cpp -o test

Unbelievable. And I'm sure I've tripped over this a few times already...
Thanks, that helped! Now I could compile it manually and know that I did 
install the zmq correctly.

With the help of this CMake Module: 
https://github.com/Kitware/Remus/blob/master/CMake/FindZeroMQ.cmake
I could make it work with my CMakeLists.txt.

These are the critical lines:

# Define where to find modules for ZeroMQ
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake CACHE INTERNAL "" FORCE)
add_definitions(-DZMQ_BUILD_DRAFT_API=1)
find_package(ZeroMQ)

The rest is just standard setting include dirs and linking libraries:

include_directories(include ${ZeroMQ_INCLUDE_DIRS})
target_link_libraries(${PROJECT_NAME} ${ZeroMQ_LIBRARIES})



--
Distributed Systems Research Group
Stephan Opfer  T. +49 561 804-6283  F. +49 561 804-6277
Univ. Kassel,  FB 16,  Wilhelmshöher Allee 73,  D-34121 Kassel
WWW: http://www.uni-kassel.de/go/vs_stephan-opfer/

_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to