在os x 10.9上将zeromq 3.2与libstdc ++连接起来

时间:2013-10-29 09:05:53

标签: c++ zeromq libstdc++

我正在尝试在OS X上构建zeromq,以便它与libstdc ++链接,因为我们有无法针对libc ++重建的模块。无论我做什么,libzmq总是与libc ++链接:

otool -L src/.libs/libzmq.3.dylib
src/.libs/libzmq.3.dylib:
    /usr/local/lib/libzmq.3.dylib (compatibility version 4.0.0, current version 4.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
    /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.0.0)

我目前尝试过:

../configure --srcdir=.. CC=gcc CXX=g++ CXXFLAGS="-stdlib=libstdc++" LDFLAGS="-v -L/usr/local/lib/ -stdlib=libstdc++" LIBS="-stdlib=libstdc++"

我会非常感谢任何建议。

1 个答案:

答案 0 :(得分:1)

好的,我终于明白了。只需使用此配置行强制clang(XCode 5)生成与Mac OS X 10.6兼容的可执行文件:

./configure --with-gnu-ld LDFLAGS="-lstdc++ -stdlib=libstdc++ -mmacosx-version-min=10.6" CXXFLAGS="-stdlib=libstdc++ -mmacosx-version-min=10.6"

这使helloworld服务器和客户端工作。

以下是otool来电的输出:

$ otool -L /usr/local/lib/libzmq.dylib
/usr/local/lib/libzmq.dylib:
/usr/local/lib/libzmq.4.dylib (compatibility version 5.0.0, current version 5.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 60.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)

P.S。:ZeroMQ 4.x版本也运行良好。