CMake检测是否存在C ++编译器

时间:2016-01-31 12:10:52

标签: cmake cross-compiling

我有一个项目首先使用C ++程序处理一些模板文件(设置为子目录),然后需要交叉编译才能在vxworks上运行。交叉编译部分将通过自定义命令和.bat文件完成,但第一部分将根据可用选项而有所不同。

如果计算机具有适当的编译器,则应在运行之前根据需要编译模板处理器程序。但是,有些计算机没有常规的c ++编译器。在这种情况下,我想假设模板处理器程序已安装到特定位置并继续使用该预构建版本。

我如何使用CMake解决这个问题?

1 个答案:

答案 0 :(得分:0)

您可以尝试 .... public int CalculateFrameScore(Frame _frame) { return _frame.FirstRoll + _frame.SecondRoll + _frame.ThirdRoll; } .... 。它编译并执行C ++源代码。如果执行失败。它在作为第一个参数传递的失败的运行变量中指示 使用它的好处是,您不必处理正确的编译器调用或任何标志。

文档:https://cmake.org/cmake/help/v3.4/command/try_run.html
特别是section about cross compilation