如何在Visual Studio中将Linux编译添加到Cmake项目

解决J

过去一年,Visual Studio为C ++添加了许多新功能。

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

Linux编译Visual Studio现在支持通过SSH在Linux上进行远程编译。一些教程显示了用户如何在Visual Studio中创建新的“ Linux控制台应用程序”,并且它将自动要求设置用于构建它的SSH连接。我没有看到有关如何在现有任何类型的项目上执行此操作的任何说明。

特别是对于CMake项目,是否可以在Visual Studio 2017中打开CMake文件夹并将其构建在远程Linux机器上?如果怎么办?

弗洛里安

CMake还没有对VS“ Linux控制台应用程序”的内置支持(与CMake 3.9版一样)。

编辑: Visual Studio 2017 15.4现在带有类似的东西,而不会生成实际.vcxproj文件。请参阅用于CMake的Linux开发的Visual C ++

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

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}"
)

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

因此,我的建议是提出对CMake本身以直接支持此功能的功能要求(例如,通过平台工具集选项Remote_GCC_1_0)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

CMake:将条件编译器标志添加到Visual Studio项目中

如何在Visual Studio中将现有目录树添加到项目中?

如何在Visual Studio中将jQuery DateTimePicker添加到我的项目中

在 Visual Studio 2017 中将项目添加到侧边栏

如何在Visual Studio 2017中将Function App添加到资源组项目中?

如何在Visual Studio 2019中将属性选项卡添加到类库项目中?

如何在Visual Studio 2019中将wwwroot目录添加到我的WebAPI项目

CMake:如何将.def文件添加到Visual Studio项目过滤器?

如何在Visual Composer中将ID添加到元素

如何在Android Studio中将jar文件添加到项目中

如何在Android Studio中将按钮添加到默认地图项目?

如何在Visual Studio解决方案中将特定文件添加到.gitignore?

如何在Visual Studio 2017中将包添加到python

如何在Visual Studio 2019的Blazor中将部分类添加到组件中?

如何在Visual Studio 2008中将下拉列表添加到rdl报表

如何在Visual Studio中将本地文件添加到Azure LocalResource“文件夹”?

如何在Visual Studio 2012中将数据添加到Access数据库

如何在子菜单中将项目添加到组

如何在Flutter中将项目添加到StreamController

如何在VueJS中将类添加到项目

如何在Eclipse中将项目添加到svn?

如何在NavigationView中将项目添加到菜单组

如何在python中将项目添加到空集

如何在python中将项目添加到空集

如何在golang的struct中将项目添加到数组

如何在Xcode中将图像添加到C ++项目

如何在QML中将项目动态添加到VisualItemModel?

如何在PyCharm中将RDKit添加到项目中?

如何在TypeScript中将项目动态添加到元组?