【问题标题】:Compiling WxWidgets on Mac OSX 10.10在 Mac OSX 10.10 上编译 WxWidgets
【发布时间】:2015-01-08 01:00:43
【问题描述】:

我正在尝试在我的 mac OSX 10.10 上编译 WxWidgets 3.0.2 我收到以下消息:

块引用 ... ld:未找到架构 x86_64 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用) make: *** [/Users/.../wxWidgets-3.0.2/build_rel/lib/libwx_osx_cocoau-3.0.0.2.0.dylib] 错误 1

我正在使用这些标志进行编译

../configure --with-osx_cocoa --with-macosx-version-min=10.7 --with-macosx-sdk=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/ SDKs/MacOSX10.10.sdk --prefix="$(pwd)" --with-opengl CC=clang CXX=clang++ CXXFLAGS="-stdlib=libc++ -std=c++11" OBJCXXFLAGS="-stdlib=libc++ -std=c++11" LDFLAGS=-stdlib=libc++ --enable-universal-binary=x86_64 --enable-monolithic --enable-unicode --with-expat=builtin --with-zlib=builtin --with -libtiff=builtin --with-regex=builtin --with-libpng=builtin --with-libjpeg=builtin

如您所见,我按照其他主题中的建议添加了 enable-universal-binary=x86_64。

如果你能建议我可能没有添加或我应该删除的其他标志 那太好了.. 谢谢

【问题讨论】:

    标签: xcode macos wxwidgets x86-64 osx-yosemite


    【解决方案1】:

    另一种方式:

    brew install wxwidgets
    

    您将在/usr/local/Cellar 中获得编译好的 wxWidgets。

    【讨论】:

      【解决方案2】:

      原则上,这应该可以,但是使用--enable-universal-binary=x86_64 有什么意义呢?如果只有一个架构,它就不是通用的……您可能想改用--enable-macosx_arch=x86_64

      顺便说一句,我认为各种与 stdlib 相关的选项也是不必要的,clang 是 10.10 下的默认编译器。而--enable-unicode 绝对是多余的。

      【讨论】:

        【解决方案3】:

        如果你需要 wx3.0.0 osx 10.7+ 单体,共享库可以从这里wxphp stub bundle得到它

        库包含在 app/contents/resources 中,如果需要,请使用它。但你需要头文件 c++,从 wx 端获取。

        【讨论】:

          【解决方案4】:

          作为posted here,您可以使用--with-macosx-sdk=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/ 作为解决方法。关于它有一个固定的issue,可能会在 3.0.3 发布。

          【讨论】:

            猜你喜欢
            • 2012-01-17
            • 2015-08-27
            • 2015-08-28
            • 2013-09-27
            • 2010-10-08
            • 1970-01-01
            • 2010-10-31
            • 1970-01-01
            • 2013-05-04
            相关资源
            最近更新 更多