首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Visual中将Linux编译添加到Cmake中

问如何在Visual中将Linux编译添加到Cmake中
EN

Stack Overflow用户
提问于 2017-06-10 01:00:58
回答 2查看 2.3K关注 0票数 7

在过去的一年中,Visual为C++增加了许多新特性。

CMake 与CMake支持,我可以做“打开文件夹”,并选择一个文件夹中有一个CMakeLists.txt文件。Visual在自动发现和构建它方面做了很多很好的工作。

Linux编译 Visual现在支持通过SSH在Linux上进行远程编译。几个教程展示了用户如何在Visual中创建一个新的"Linux控制台应用程序“,它将自动要求设置用于构建它的SSH连接。我没有看到任何关于如何在现有的任何项目上这样做的说明。

特别是对于CMake项目,是否可以在VisualStudio2017中打开一个CMake文件夹,并将其构建在远程Linux机器上?IfSoHow?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-06 20:14:06

CMake中的VS "Linux控制台应用程序“还没有内置支持( CMake版本3.9)。

编辑:VisualStudio2017 15.4现在附带了类似的东西,而没有生成实际的.vcxproj文件。请参阅用CMake实现Linux开发的可视化CMake

除了使用现有的CMake文件作为模板描述的这里的可能性之外,使用标准的.vcxproj版本,您只能欺骗CMake生成这些项目类型:

代码语言:javascript
复制
cmake_minimum_required(VERSION 3.7)

project(HelloLinux)

file(WRITE main.cpp [=[
#include <iostream>

int main()
{
    std::cout << "Hello from Linux Console!" << std::endl;
}
]=])

add_executable(HelloLinux "main.cpp")

set_target_properties(
    HelloLinux
    PROPERTIES
        VS_GLOBAL_KEYWORD "Linux"
        VS_GLOBAL_ApplicationType "Linux"
        VS_GLOBAL_ApplicationTypeRevision "1.0"
        VS_GLOBAL_TargetLinuxPlatform "Generic"
        VS_GLOBAL_LinuxProjectType "{D51BCBC9-82E9-4017-911E-C93873C4EA2B}"
)

这实际上是可行的,并产生了一个被VS接受的Linux .vcxproj项目。但是,由于我们在这里避开了CMake,您在CMake脚本中定义的其他编译器/链接器选项都不会被分配。

因此,我建议引发功能请求为CMake本身提供直接支持(例如通过平台工具集选项Remote_GCC_1_0)。

票数 10
EN

Stack Overflow用户

发布于 2017-07-03 11:15:32

它似乎不像你所期望的那样起作用了。您似乎需要为现有的cmake代码库创建单独的linux vcproject。VS选项中没有什么比linux目标更好的了。有关更多信息,请参见此msdn博客中的注释。

您可以创建“新linux项目”并复制您的源代码,或者尝试(并修改)对现有的源代码使用这些非官方脚本:https://github.com/robotdad/vclinux。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44468507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档