Macos Qt 5.4-Mac OS X 10.6支持

Macos Qt 5.4-Mac OS X 10.6支持,macos,qt,Macos,Qt,我在Mac OS X 10.9上使用Qt5.3.2编译了我的应用程序,它在Mac OS X 10.6上运行,没有任何问题。但是由于Qt5.3.2中的一个错误(未修复),导致应用程序在最大化时崩溃,如果关注点是树视图,我不得不切换到Qt5.4 在Mac OS X 10.9上使用Qt5.4编译我的应用程序后,它不再在Mac OS X 10.6上运行。它因以下错误而崩溃: dyld: library not loaded: /usr/lib/libc++.1.dylib Qt 经过一番调查,我发现

我在Mac OS X 10.9上使用Qt5.3.2编译了我的应用程序,它在Mac OS X 10.6上运行,没有任何问题。但是由于Qt5.3.2中的一个错误(未修复),导致应用程序在最大化时崩溃,如果关注点是树视图,我不得不切换到Qt5.4

在Mac OS X 10.9上使用Qt5.4编译我的应用程序后,它不再在Mac OS X 10.6上运行。它因以下错误而崩溃:

dyld: library not loaded: /usr/lib/libc++.1.dylib Qt

经过一番调查,我发现

Qt网站上提供的Qt 5.4二进制文件不支持在Mac OS X 10.6上运行Qt应用程序。同一版本需要自定义版本

根据一个来源:

要使clang++生成与llvm-gcc-4.2.1中的g++兼容的二进制文件,请使用以下编译器和链接器标志:-stdlib=libstdc++-mmacosx version min=10.6

<强>这将确保我们与10.6 CRT链接,并且我们不与LBC++链接(Culang++的默认C++库)。< /强>

对于自定义生成:

./configure -prefix $PWD/qtbase -opensource -no-c++11 -debug-and-release -nomake examples -nomake demos 

Qt 5.4不再支持10.6

如果您甚至使用-no-c++11手动编译它,您的应用程序生成的可执行文件将在10.6上崩溃


5.3.2是最后一个用-no-c++11来支持10.6的版本,我在10.6上构建了5.3.2,作为这项工作的一部分,我在c++11模式下构建了它,首先构建了LLVM3.5,然后使用它来构建
libc++
libc++abi
,然后将这些库放到
/usr/lib
中。然后,我可以对Qt的源代码进行温和的编辑,使用Clang根据
libc++
构建5.3.2。我希望这个过程的第一部分将为您提供需要进一步改进的
libc++
dylibs,即使是Qt5.4。@Iwillnotexistidonnotexist我不是在10.6上构建的,我只是将10.6作为最低支持版本,但您不能构建那些10.6
libc++
,并在10.6上随应用程序一起发布吗?您可以使用
install_name_tool
使二进制文件和Qt库指向
@loader_path/libc++.1.dylib
,而不是
/usr/lib/libc++.1.dylib
。但我想,如果您已经成功地构建了5.4二进制文件,并在10.6中为您工作,那就足够了。