gpt4 book ai didi

c++ - 官方 C++/11 Makefile 标准/替代品?

转载 作者:太空狗 更新时间:2023-10-29 23:33:20 26 4
gpt4 key购买 nike

我目前正在使用 Visual Studio 2012、Eclipse、CodeBlocks 和 MinGW 编写 C++ 11 代码。

问题:

我注意到 GCC 中的特性(延迟、= 与立即、:=、扩展/赋值等)和 Microsoft 的 nmake 让我想知道官方的“makefile”标准是什么。

  1. C++11 的 makefile 标准有更新吗?
  2. 我知道 GNU makefile 标准在哪里(http://www.gnu.org/software/make/manual/make.html),但是我在哪里可以找到“The”makefile 标准?
  3. 老实说,我更愿意用 C++ 编写 makefile,然后将它们作为脚本从 shell 中运行;有没有办法将 C++ 代码作为脚本运行?也许是Javascript?还有哪些其他脚本语言用于执行此操作?

背景:

困难,(*咳嗽)是我试图确保代码在每个环境中编译,以及尝试交叉编译到其他目标,(使用 OpenGL API 的 Linux/Ubuntu,Windows 7 ,8, 使用 DirectX, Android NDK).

我的一个核心问题是,我使用的很多工具集并不是真正“开放”以支持跨平台功能。

Visual Studio 2012:没有 *nix 可运行的编译器。使用 2012 年 11 月 C++ CTP 编译器的错误版本来支持 C++11。

海湾合作委员会 4.7.x/4.8x:仅限于 MinGW32 和 MinGW64 的粗略版本。

制作:很难正确配置,但似乎创建了特定于 GNU、Microsoft 等的 makefile。是否有某种方法可以配置它以生成“标准”makefile?

AutoMake/AutoConf:似乎只生成 GNU 兼容的 makefile

最佳答案

make 系统没有 C++ 标准。这纯粹是实现定义的东西。

对于跨平台工作(跨操作系统和跨工具链),我发现最受欢迎的选择是 CMake .我不喜欢 CMake 的语法或各种复杂性,我也不喜欢使用它——但它确实有效,而且似乎每个人都在使用它。您在一个项目中获得的 CMake 技能将转移到许多其他项目中。

是的,您可以从 CMake 中获取“标准”makefile。这是生成器的一个函数:

cmake -G "Unix Makefiles" ...

将生成与 *nix make 兼容的 makefile。

关于c++ - 官方 C++/11 Makefile 标准/替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16653226/

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