Cmake 如果没有C+,则进行检测+;编译器存在 我有一个项目,首先使用C++程序处理一些模板文件(安装为子目录),然后需要交叉编译,以在VxWorks上运行。交叉编译部分将通过自定义命令和.bat文件完成,但第一部分将根据可用选项的不同而有所不同

Cmake 如果没有C+,则进行检测+;编译器存在 我有一个项目,首先使用C++程序处理一些模板文件(安装为子目录),然后需要交叉编译,以在VxWorks上运行。交叉编译部分将通过自定义命令和.bat文件完成,但第一部分将根据可用选项的不同而有所不同,cmake,cross-compiling,Cmake,Cross Compiling,如果计算机有适当的编译器,则在运行模板处理器程序之前,应根据需要编译模板处理器程序。然而,有些计算机将没有常规的C++编译器。在本例中,我想假设模板处理器程序已安装到特定位置,并继续使用该预构建版本 我如何使用CMake解决这个问题?您可以尝试一下try\u run。它编译并执行C++源代码。如果执行失败。它在作为第一个参数传递的失败运行变量中指示。 使用它的优点是,您不必处理正确的编译器调用或任何标志 文档: 特别是看起来像您需要的。功能检查只有在找到编译器后才有效。在我的例子中,找不到编译器

如果计算机有适当的编译器,则在运行模板处理器程序之前,应根据需要编译模板处理器程序。然而,有些计算机将没有常规的C++编译器。在本例中,我想假设模板处理器程序已安装到特定位置,并继续使用该预构建版本


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

您可以尝试一下
try\u run
。它编译并执行C++源代码。如果执行失败。它在作为第一个参数传递的失败运行变量中指示。
使用它的优点是,您不必处理正确的编译器调用或任何标志

文档:

特别是

看起来像您需要的。功能检查只有在找到编译器后才有效。在我的例子中,找不到编译器,所以它会立即产生错误。