c++ - 如何将 CMAKE 用于自定义编译器和自定义操作系统?
问题描述
我想将 CMAKE 用于一个用 C++ 编写的非常大的项目。但是这个项目没有使用“现代编译器”,也没有使用流行的编译器,而是用于一个独特的操作系统,出于实际目的,假设我制作了它,所以我可以访问它的几乎所有源代码(但我不能修改它,我只有对我的项目的修改权限)。让我们称这个操作系统为 OSreally。
我的项目可以编译 Windows 并且可以在 Windows 和 OSreally 中运行。
我需要做什么来为这个项目实施 CMAKE?所以我可以得到所有的CMAKE“好处”。
解决方案
从某种意义上说,你的问题并不难回答。CMake 具有极强的可扩展性,几乎所有内容都可以更改。例如,要使用您的自定义编译器,您可以SET(CMAKE_CXX_COMPILER /path/to/compiler)
在顶级构建文件中。然而,即使像这样的一些技巧可以让你为你奇怪的操作系统编译代码,也可能存在各种系统函数和标准库的问题。
如果没有人在您的操作系统上实现标准库,您可能需要花费一些时间来构建它并可能对其进行修改以适应系统上的任何不同之处。基本上任何您想要导入的库也是如此。无论如何,如果您的系统有一个符合标准的 C++ 编译器,那么正确的方法是在您的系统中简单地设置上述变量CMakeLists.txt
并修复您遇到它们时出现的任何问题。
推荐阅读
- c# - 调用 DLL 函数时遇到问题
- html - 背景剪辑与边界半径混淆
- python - Python 并行附加到代理列表返回“函数”对象不可迭代或“NoneType”对象不可迭代
- ios - reloadData() 快速中断集合视图单元格
- node.js - React Native 中的 Fetch 功能在发送 SMS 时不起作用
- excel - 在 Excel 工作表中提取 Instagram 链接用户名的公式
- c# - C#检测用户控件宽度
- c# - 如何从 mysql 查询中存储对象 max(date) 和 min(date)
- python - 如何删除查询集的多对多关系?
- c# - 错误“已经有一个打开的 DataReader 与此命令关联,必须先关闭”