【问题标题】:qt-everywhere-opensource-src-5.5.1 installation on MACOSX El Capitan在 MACOSX El Capitan 上安装 qt-everywhere-opensource-src-5.5.1
【发布时间】:2016-01-29 12:40:59
【问题描述】:

刚刚开始更新 MacBookPro 并尝试再次设置编码环境。我无法“制作”qt,我需要为 pythonic 程序生成 GUI。我已经安装了最新版本的 xcode,并且在 http://doc.qt.io/qt-4.8/install-mac.html 上进行了大约 20 小时的“make”之后,make 例程炸弹爆炸了,我得到了以下信息:

失败:如果 [ ! -e ffmpegsumo.so -o ! -e ffmpegsumo.so.TOC ] || otool -l ffmpegsumo.so | grep -q LC_REEXPORT_DYLIB ;然后 /usr/bin/clang++ -bundle -Wl,-search_paths_first -stdlib=libc++ -mmacosx-version-min=10.7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10 .11.sdk -Lgen/third_party/ffmpeg -arch x86_64 -L。 -o ffmpegsumo.so @ffmpegsumo.so.rsp && { otool -l ffmpegsumo.so | grep LC_ID_DYLIB -A 5; nm -gP ffmpegsumo.so |剪切-f1-2 -d' ' | grep -v U$;真的; } > ffmpegsumo.so.TOC;否则 /usr/bin/clang++ -bundle -Wl,-search_paths_first -stdlib=libc++ -mmacosx-version-min=10.7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10 .11.sdk -Lgen/third_party/ffmpeg -arch x86_64 -L。 -o ffmpegsumo.so @ffmpegsumo.so.rsp && { otool -l ffmpegsumo.so | grep LC_ID_DYLIB -A 5; nm -gP ffmpegsumo.so |剪切-f1-2 -d' ' | grep -v U$;真的; } > ffmpegsumo.so.tmp && 如果! cmp -s ffmpegsumo.so.tmp ffmpegsumo.so.TOC;然后 mv ffmpegsumo.so.tmp ffmpegsumo.so.TOC ;菲;菲

clang:错误:没有这样的文件或目录:'/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/lib/libz.dylib'

[5479/10912] CXX obj/src/3rdparty/chromium/v8/tools/gyp/obj/src/3rdparty/chromium/v8/tools/gyp/v8_snapshot.gen/v8_snapshot.snapshot.o

ninja:构建停止:子命令失败。

make[5]: *** [invoke_ninja] 错误 1

make[4]: *** [debug-all] 错误 2

make[3]: *** [sub-gyp_run-pro-make_first] 错误 2

make[2]: *** [sub-core-make_first] 错误 2

make[1]: *** [sub-src-make_first] 错误 2

make: *** [module-qtwebengine-make_first] 错误2

任何有用的提示都会很棒,在此先感谢。

【问题讨论】:

  • 所以 glennr 走在了正确的轨道上。看看我的回答,让我知道它是否适合你。刚刚完成了 El Capitan 的构建,但我没有使用 webkit
  • 介意将两者之一标记为答案吗?谢谢

标签: xcode macos qt


【解决方案1】:

在 OSX 10.11 SDK 中,libz.dylib 不是 Qt 构建过程所期望的。这需要在 Qt 构建系统中修复。一种解决方法是从 /usr/lib 符号链接它:

sudo ln -s /usr/lib/libz.dylib /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/lib/

【讨论】:

  • 感谢您的提示。有点帮助。现在我有:clang:错误:没有这样的文件或目录:'/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/lib/libresolv.dylib' clang:错误:没有这样的文件或目录:'/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/lib/libbsm.dylib' clang:错误:没有这样的文件或目录:'/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/lib/libcups.dylib'
【解决方案2】:

看起来 MacOSX 10.11 SDK 有 tbd 文件代替 dylib 文件。如果你 cat dbd,它会给你 dylib 应该在的路径。

无论如何,看起来 glennr 是在正确的轨道上。您必须放入缺少的 dylib 的符号链接。构建除了 webkit 之外的所有东西,它似乎需要 libresolv.dylib、libbsm.dylib、libcups.dylib 和 libz.dylib。

在终端导航到/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/lib

然后执行以下shell命令

ln -s /usr/lib/libcups.dylib
ln -s /usr/lib/libbsm.dylib
ln -s /usr/lib/libresolv.dylib
ls -s /usr/lib/libz.dylib

这应该会在 /usr/lib 中创建指向 dylib 的符号链接。

当您在 10.11 上构建库并针对相同的 SDK 时,这似乎有效。如果您在较旧或较新版本上运行,我不确定它会给您正确的结果,因为那样 dylib 的版本可能不匹配。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-11
    • 2016-04-10
    • 2018-06-19
    • 1970-01-01
    • 2021-07-04
    • 2016-06-18
    • 2016-01-20
    • 2019-01-21
    相关资源
    最近更新 更多