e.s*_*hen 2 c++ build-automation portability makefile c++11
我目前正在使用Visual Studio 2012,Eclipse,CodeBlocks和MinGW来编写C++ 11代码.
题:
我注意到GCC中的功能,(延迟,=与立即,= =,扩展/分配等),以及微软的nmake让我想知道官方的"makefile"标准是什么.
背景:
困难,(*咳嗽),是我试图确保代码在每个环境中编译,以及尝试交叉编译到其他目标,(Linux/Ubuntu使用OpenGL API,Windows 7,8,使用DirectX,Android NDK).
我的核心问题之一是我使用的很多工具集并不真正"开放"支持跨平台的超棒.
Visual Studio 2012:没有*nix可运行的编译器.使用2012年11月C++ CTP编译器的错误版本支持C++ 11.
GCC 4.7.x/4.8x:仅限于MinGW32和MinGW64的粗略版本.
CMake:很难正确配置,但似乎创建特定于GNU,Microsoft等的makefile.有没有办法配置它来生成"标准"makefile?
AutoMake/AutoConf:似乎只生成GNU兼容的makefile
制作系统没有C++标准.这纯粹是实现定义的东西.
对于跨平台工作(同时是跨操作系统和跨工具链),我发现最受欢迎的选择是CMake.我不喜欢CMake的语法或各种复杂性,我不喜欢使用它 - 但它确实有用,似乎每个人都使用它.您在一个项目上工作的CMake技能将转移到许多其他项目.
是的,你可以从CMake中获得"标准"的makefile.这是发电机的功能:
cmake -G "Unix Makefiles" ...
Run Code Online (Sandbox Code Playgroud)
将生成与*nix兼容的makefile make.
| 归档时间: |
|
| 查看次数: |
1829 次 |
| 最近记录: |