vs2017实现linux远程编译报错“CMake 缺少以下功能:serverMode“解决方案

这篇具有很好参考价值的文章主要介绍了vs2017实现linux远程编译报错“CMake 缺少以下功能:serverMode“解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

  • window系统vs2017使用cmake实现linux远程调试和编译时,搭建的环境报CMake 缺少以下功能:“serverMode”。请参阅 https://aka.ms/linuxcmakeconfig 了解详细信息错误,如何解决?
  • 经排查,发现远程开发环境的cmake版本不支持serverMode模式,因此,无法实现远程编译

解决方案

  • 验证远程目标服务器的cmake支持的能力,执行以下命令:cmake -E capabilities

  • 输出结果如下:
    {“fileApi”:{“requests”:[{“kind”:“codemodel”,“version”:[{“major”:2,“minor”:3}]},{“kind”:“cache”,“version”:[{“major”:2,“minor”:0}]},{“kind”:“cmakeFiles”,“version”:[{“major”:1,“minor”:0}]},{“kind”:“toolchains”,“version”:[{“major”:1,“minor”:0}]}]},“generators”:[{“extraGenerators”:[],“name”:“Watcom WMake”,“platformSupport”:false,“toolsetSupport”:false},{“extraGenerators”:[],“name”:“Ninja Multi-Config”,“platformSupport”:false,“toolsetSupport”:false},{“extraGenerators”:[“CodeBlocks”,“CodeLite”,“Eclipse CDT4”,“Kate”,“Sublime Text 2”],“name”:“Ninja”,“platformSupport”:false,“toolsetSupport”:false},{“extraGenerators”:[“CodeBlocks”,“CodeLite”,“Eclipse CDT4”,“Kate”,“Sublime Text 2”],“name”:“Unix Makefiles”,“platformSupport”:false,“toolsetSupport”:false},{“extraGenerators”:[],“name”:“Green Hills MULTI”,“platformSupport”:true,“toolsetSupport”:true}],“serverMode”:false,“version”:{“isDirty”:false,“major”:3,“minor”:21,“patch”:1,“string”:“3.21.1”,“suffix”:“”}}

  • 可以看到参数serverMode为false,因此远程编译失败,如何将参数置为true?除了换cmake的版本,目前没有想到其他的解决办法,我尝试从相同版本cmake使用源码编译的方式,去寻找与之相关联的参数,但均尝试失败。目前在centos系统下,3.17.1的版本该模式为true,而3.21则不行

  • 注意事项:文章来源地址https://www.toymoban.com/news/detail-666581.html

    • 如何目标服务器有多个版本的cmake,在本地的CMakeSettings.json文件中"cmakeExecutable"字段可以指定使用哪个cmake
    • 其他变量参数应尽可能使用绝对路径,避免使用类似于$HOME等宏定义变量,防止于windows的环境变量冲突

参考文献

  • https://learn.microsoft.com/zh-cn/cpp/linux/cmake-linux-configure?view=msvc-170
  • https://learn.microsoft.com/zh-cn/cpp/build/get-started-linux-cmake?view=msvc-170

到了这里,关于vs2017实现linux远程编译报错“CMake 缺少以下功能:serverMode“解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vs2015、vs2017、vs2019、msvc自动编译脚本

    rem 记录编译时间 echo ** 版本构建开始时间: %date% %time% build.log rem 设置编译器进程名 set DstProgram=devenv.exe rem 搜索目标进程以及其目录 echo 正在搜索\\\"%DstProgram%“, 请稍候… for %%a in (“C:Program Files (x86)”, “C:Program Files”, “D:Program Files (x86)”, “D:Program Files”) do for /f “delim

    2024年02月06日
    浏览(79)
  • Libmodbus在VS2017下的编译

    原文链接:https://blog.csdn.net/weixin_45790559/article/details/105092860 1、打开文件路径:D:libmodbus-mastersrcwin32configure.js; 生成config.h和modbus-version.h; 2、打开modbus-9.sln; 3、在解决方案资源管理器里面 删除头文件:modbus-version.h;再添加1中生成的头文件:modbus-version.h; 4、打开:调试—

    2024年02月15日
    浏览(41)
  • VS2017远程调试详解(内网、外网)

    远程调试可分为:附加到进程与远程Windows调试器两种方式 两种方式区别可简单理解为: (1)附加到进程:需将本地编译完成后的exe与相关dll拷贝至目标电脑;此方式前提被调试软件可正常打开 (2)远程Windows调试器:配置完部署目录及相关参数后,VS会自动部署相关exe和

    2024年02月05日
    浏览(44)
  • behaviac —— Win10下Vs2017编译“腾讯行为树“源码

    简介 - 腾讯行为树      behaviac是游戏AI的开发框架组件,也是游戏原型的快速设计工具。支持全平台,适用于客户端和服务器,助力游戏快速迭代开发 。编辑器可以运行在PC上,操作方便直观可靠,支持实时和离线调试;编辑器可以导出xml,bson等多种格式,更可以导出

    2023年04月22日
    浏览(49)
  • VS2022 CMake报错解决小结

    目录 一、问题背景 二、问题分析 三、问题解决        VS2022中能够跨平台的工程类型就是CMake项目,一套代码能跨windows/Linux/Mac多种操作系统。而实际使用时,发现相关资料比较少,需要摸索一下。  碰到的问题简述:   1、C++ Intellisense信息可能过时,生成要刷新的CMake缓存

    2024年02月12日
    浏览(39)
  • opencv4.7.0 win10 源码编译 vs2019 cmake

    步骤: ① 编译opencv源码;注意几个下载内容;根据cmakedownloadlog.txt中的说明 ② 生成opencv.sln,先使用ALL_BUILD生成 ③ 然后对install工程进行生成 ④ 使用:离线使用,opencv文件夹 install的include lib bin 等复制到当前工程下的文件夹;然后配置属性     配置属性时注意一下路径,工

    2024年02月04日
    浏览(66)
  • 重装VS2017后依然报错:找不到Windows SDK 版本10.0.17763.0

    问题情况 重装VS2017后依然报错: 找不到Windows SDK 版本10.0.17763.0。请安装所需的版本的 Windows SDK 或者在项目属性页中或通过右键单击解决方案并选择“重定解决方案目标”来更改 SDK 版本。 解决方法 查看VS2017安装路径 本例中VS2017安装路径在E:appVisualStudio目录下 WIN+R=regedit打

    2024年02月06日
    浏览(55)
  • 在VS2019中CMake生成出现报错

    在vs中,项目-CMake设置 最下面有个显示高级 将Ninja改成Unix Makefiles就可以避开这个问题了。 一般改成unix Makefiles就能直接用了。 如果执意要选用Ninja编译,那么可能会比较麻烦,下面是一个比较详细的链接。 另外一种处理方式

    2024年02月12日
    浏览(44)
  • 编译opencv环境搭建:vs2019 + cmake-3.25 + opencv-4.5.5

    一 下载vs2019 链接:Downloads - Visual Studio Subscriptions Portal 下载社区版本,因为是免费的,大家随便用 下载成功后直接安装就可以了。 有的环境安装好后在属性管理器中可能没有 Microsoft.Cpp.x64 文件 从如下链接下载 Microsoft.Cpp.x64 文件  (链接转载(227条消息) 解决vs2019属性管理器里

    2024年02月11日
    浏览(55)
  • Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog

    Java中有很多日志库:java.util.logging、Log4j、Logback、Log4j2、slf4j、common-logging。C++的日志库相对来说就比较少了,比如说glog、log4cpp、spdllog等,目前个人感觉比较好用的C++开源日志库当属于spdlog了,跨平台,支持cmake编译,在维护中。 具体可以参考github上面的示例:https://github

    2023年04月17日
    浏览(84)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包