gpt4 book ai didi

c++11 - 打包C++11程序源码的可移植方法

转载 作者:行者123 更新时间:2023-12-04 21:18:41 32 4
gpt4 key购买 nike

因此,C++11 已经存在了一段时间,并且鉴于大多数平台上已经有编译器支持它,因此在一些真正的软件中使用它会很好——例如一种可以打包在 as-portable-as-possible 包中,最好提供 ./configure 等。

因为 Clang 和 GCC 目前都需要 -std=c++11 标志来编译 c++11 源代码,而且有时都需要特定的标志才能正常工作(参见例如 How to compile C++11 with clang 3.2 on OSX lion?C++11 Thread not working ),我很害怕由于错误地调用编译器,该包将无法在某些已经支持 c++11 的平台上运行。

问:是否有一些标准如何正确且可移植地编译 c++11?例如。 autotools/autoconf 检查或一些描述所有可能需要的选项的编译器/平台指令列表?或者这种情况是因为 c++11 标准实现目前被标记为“实验性”并且该标准最终会稳定并成为默认选择,不需要使用额外的编译器标志?

谢谢

-exa

最佳答案

好吧,如果您正在尝试编写可移植代码,我建议您使用 cmake
一个非常强大的跨平台开源构建系统。

使用 cmake,您应该能够识别当前机器中可用的编译器,然后在每种情况下使用您想要的标志生成您的 makefile。

我已经使用 cmake 将近一年了,它大大减少了尝试在不同平台上编译项目时消耗的时间。

关于c++11 - 打包C++11程序源码的可移植方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16787660/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com