cmake 如何在mac上使用c++17并行标准库算法?

zysjyyx4  于 2022-11-11  发布在  Mac
关注(0)|答案(2)|浏览(185)

我想在我的cmake项目中使用来自c17标准库的并行排序(它是跨平台的,在Linux和MSYS2上运行得很好),但是Apple Clang's libc++ has not implemented it yet, while gnu's libstdc++ has。你如何在mac上的cmake项目中使用c17库的gnu实现?

vh0rcniy

vh0rcniy1#

我找到的解决方案是从源代码构建gcc,并使用该编译器和它附带的库。它还需要与-static-libgcc -static-libstdc++静态链接。在切换到gnu标准库后,我在使用fmt库时也遇到了问题,但通过使用fmt的仅头文件版本解决了这个问题。
Here's包含完整详细信息的CMakeLists.txt文件。

fcy6dtqo

fcy6dtqo2#

也许在Mac上并行化的最好方法是遵循Apple给出的建议-使用调度调用。
我在C++11 app that uses dispatch_apply not working under Mac OS Sierra上发布了一个例子
这使用了dispatch_apply --它几乎是for-to循环的一个插件。

相关问题