Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cmake:可以从Linux交叉生成构建系统吗?_Cmake - Fatal编程技术网

Cmake:可以从Linux交叉生成构建系统吗?

Cmake:可以从Linux交叉生成构建系统吗?,cmake,Cmake,是否可以使用cmake在一个平台上为另一个平台生成构建系统?例如,我最感兴趣的是,是否可以为Linux项目生成一组Visual Studio解决方案文件,或mingw32 make make文件,或nmake文件 其目的是制造类似于makedisttarget在automake中生产的东西。但是,我不需要像make dist那样使用它,也就是说,我只想生成解决方案文件,就像在Windows中运行cmake一样 然后,用户可以在自己的机器上使用创建的构建系统构建包 如果可能的话,我该怎么做?Cma

是否可以使用cmake在一个平台上为另一个平台生成构建系统?例如,我最感兴趣的是,是否可以为Linux项目生成一组Visual Studio解决方案文件,或mingw32 make make文件,或nmake文件

其目的是制造类似于
makedist
target在automake中生产的东西。但是,我不需要像
make dist
那样使用它,也就是说,我只想生成解决方案文件,就像在Windows中运行cmake一样

然后,用户可以在自己的机器上使用创建的构建系统构建包


如果可能的话,我该怎么做?Cmake没有报告基于Windows的生成器在Linux上可用。

进一步研究后,我认为我的问题的答案是否定的。原因是Cmake生成的makefiles和solution File等依赖于Cmake本身,其路径硬编码到文件中

windows的一个解决方案可能是将cmake可执行文件与文件捆绑在一起,并以某种方式将添加到makefiles的cmake_命令的定义替换为绑定版本的cmake的路径。不过,这只是一个建议,我还没有尝试过,甚至没有做过很多研究。如果您这样做了,请在此处以评论或回答的形式发布流程