我有一个 C++ 静态库,我需要在 Mac OS X (Maverick) 64 位上构建。该库使用 C++,还有一些 .asm MMX 指令文件。C++ 编译器是 Clang 所以我还需要 YASM 编译器。在 Linux 和Windows 我设法让所有设置相对容易,但我在 Mac 上遇到了一些问题。
首先,我根据这篇文章在 MAC 上安装了 YASM 。
然后我按照此处的说明将 YASM 作为构建工具添加到 XCode 。
现在,如果以前我收到错误说 .asm 文件内容无法解析,现在这些都消失了。相反,我在 std::ratio 和 std::chrono 文件中有多个错误。
他们中的大多数是这样的:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/c++/v1/ratio:252:81:未知类名'false_type';你的意思是'::std::false_type'吗?
现在,我在另一个库中遇到了这些错误,链接 vs libstdc++.dylib 解决了它。但不是在这里。此外,如果我转到“构建设置”并在“Apple LLVM 5.0 -Language -C++”下将 CLANG_CXX_LIBRARY 从 libc++ 更改为 libstdc++,那么之前的错误就消失了,我开始从 localefwd.h 和 locale_classes.h 收到错误
在我看来,可能是我的 YASM 编译选项错误,或者 YASM 没有与 libstdc++ 链接?或者它可能与 YASM 无关?