我想在我的cmake项目中使用来自c17标准库的并行排序(它是跨平台的,在Linux和MSYS2上运行得很好),但是Apple Clang's libc++ has not implemented it yet, while gnu's libstdc++ has。你如何在mac上的cmake项目中使用c17库的gnu实现?
我想在我的cmake项目中使用来自c17标准库的并行排序(它是跨平台的,在Linux和MSYS2上运行得很好),但是Apple Clang's libc++ has not implemented it yet, while gnu's libstdc++ has。你如何在mac上的cmake项目中使用c17库的gnu实现?
2条答案
按热度按时间vh0rcniy1#
我找到的解决方案是从源代码构建gcc,并使用该编译器和它附带的库。它还需要与
-static-libgcc -static-libstdc++
静态链接。在切换到gnu标准库后,我在使用fmt库时也遇到了问题,但通过使用fmt的仅头文件版本解决了这个问题。Here's包含完整详细信息的CMakeLists.txt文件。
fcy6dtqo2#
也许在Mac上并行化的最好方法是遵循Apple给出的建议-使用调度调用。
我在C++11 app that uses dispatch_apply not working under Mac OS Sierra上发布了一个例子
这使用了dispatch_apply --它几乎是for-to循环的一个插件。