1

我正在尝试在 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++"

我会非常感谢任何建议。

4

1 回答 1

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)

PS:ZeroMQ 4.x 构建也运行良好。

于 2014-06-09T19:37:04.477 回答