GVKun编程网logo

visual studio 2019 + cmake 实现windows linux跨平台开发环境搭建(vs跨平台编译linux)

9

本文将带您了解关于visualstudio2019+cmake实现windowslinux跨平台开发环境搭建的新内容,同时我们还将为您解释vs跨平台编译linux的相关知识,另外,我们还将为您提供关于

本文将带您了解关于visual studio 2019 + cmake 实现windows linux跨平台开发环境搭建的新内容,同时我们还将为您解释vs跨平台编译linux的相关知识,另外,我们还将为您提供关于.net-4.0 – windows xp上的visual studio 2013、c – Visual Studio 2013中的Windows XP和Windows Server 2003支持、c – 用于Visual Studio Linux跨平台的CMake Generator、CMake 无法找到 Visual Studio 15 2017 生成器的实例,但在 Visual Studio 16 2019 中工作正常的实用信息。

本文目录一览:

visual studio 2019 + cmake 实现windows linux跨平台开发环境搭建(vs跨平台编译linux)

visual studio 2019 + cmake 实现windows linux跨平台开发环境搭建(vs跨平台编译linux)

visual studio 2019开始支持cmake跨平台开发.
以前cmake项目需要先生成vs项目,然后vs直接使用vs项目开发.现在可以直接用vs2019创建或打开cmake项目.
使用visual studio 2019 + cmake开发跨平台程序,可以利用宇宙无敌visual studio,我认为还是很方便的,无论是代码阅读还是调试.特别是对windows程序员入门linux开发,几乎算是无缝衔接.

  • 创建项目:

  • 打开项目,则选择打开本地文件夹:

  • 两个视图,一般情况下使用目标视图,每个目标相当于原来的一个项目.

  • 通过管理配置,可以添加编辑配置:

  • 通过添加Linux-GCC配置,即可进行linux开发.

  • 添加完配置,即可运行程序,进行调试.linux采用远程调试的方式,第一次调试会提示设置远程服务器连接信息:

  • 设置完成,便可以一套代码,开发windows和linux程序,通过切换配置,自由的在编译和调试windows程序和linux程序间切换了.

  • 其中linux开发的输出控制台窗口会在vs底部的linux控制台窗口显示.

  • 开发linux之前,需要一台linux机器用于实际编译,这台机器需要安装一些必要的程序,如果是Debian的系统,可以使用这个两个命令安装openssh远程连接程序,和各种编译需要的程序,ninja可选:

sudo apt install -y openssh-server build-essential gdb rsync make zip
sudo apt-get install g++ gdb make ninja-build rsync zip

.net-4.0 – windows xp上的visual studio 2013

.net-4.0 – windows xp上的visual studio 2013

是否可以在 Windows XP上运行Visual Studio 2013?

我听说在Windows XP上安装.NET Framework 4.5是不可能的.如果我想在Windows XP上使用Visual Studio 2013 for .NET 4.0?

这可能吗?

这不可能. Visual Studio 2013本身支持.Net v4.5,它不支持Windows XP.

对于Windows XP上的.Net 4.0,您可以尝试使用.Net 4.0使用Visual Studio 2010.我不知道这是否可以正常工作,但是建议您使用.Net 4.0和Windows 8 for .Net 4.5.

c – Visual Studio 2013中的Windows XP和Windows Server 2003支持

c – Visual Studio 2013中的Windows XP和Windows Server 2003支持

在Visual Studio 2013中如何支持 Windows XP和 Windows Server 2003?我可以在Visual Studio 2013中为这些系统编写C程序吗?

解决方法

假设您正在谈论VS2013的零售版:是的,没问题.项目属性,常规,平台工具集= v120_xp.

c – 用于Visual Studio Linux跨平台的CMake Generator

c – 用于Visual Studio Linux跨平台的CMake Generator

我想从CMake项目为跨平台 Linux项目生成Visual Studio解决方案.

Visual Studio 2017跨平台工作负载运行良好,特别是在调试方面.我用它来定位WSL.
现在我有一个现有的Linux CMake项目,我想在Windows和Visual Studio上开发并在WSL上构建它.我似乎没有看到为Visual Studio生成适当的解决方案的方法.任何人都可以开导我吗?

解决方法

CMake已经有 some queries支持“Linux”项目类型,但我不认为 there is something implemented yet(看代码它不能生成所需的项目设置).

在这些情况下,您只能使用include_external_msproject()命令调用.

这将包括现有的.vcproj文件到您的CMake生成的解决方案,如:

include_external_msproject(
    MyProject 
    ${CMAKE_CURRENT_SOURCE_DIR}/MyProject/MyProject.vcproj
)

那么让我们制作一个现有Linux .vcxproj文件的模板,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" Toolsversion="@CMAKE_MATCH_1@.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup Label="ProjectConfigurations">
    <ProjectConfiguration Include="Debug|x86">
      <Configuration>Debug</Configuration>
      <Platform>x86</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|x86">
      <Configuration>Release</Configuration>
      <Platform>x86</Platform>
    </ProjectConfiguration>
  </ItemGroup>
  <PropertyGroup Label="Globals">
    <ProjectGuid>@_guid@</ProjectGuid>
    <Keyword>Linux</Keyword>
    <RootNamespace>@_target@</RootNamespace>
    <MinimumVisualStudioVersion>@CMAKE_MATCH_1@.0</MinimumVisualStudioVersion>
    <ApplicationType>Linux</ApplicationType>
    <ApplicationTypeRevision>1.0</ApplicationTypeRevision>
    <TargetLinuxPlatform>Generic</TargetLinuxPlatform>
    <LinuxProjectType>{D51BCBC9-82E9-4017-911E-C93873C4EA2B}</LinuxProjectType>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'" Label="Configuration">
    <UseDebugLibraries>true</UseDebugLibraries>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x86'" Label="Configuration">
    <UseDebugLibraries>false</UseDebugLibraries>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings" />
  <ImportGroup Label="Shared" />
  <ImportGroup Label="propertysheets" />
  <PropertyGroup Label="UserMacros" />
  <ItemGroup>
    <ClCompile Include="@_sources@" />
  </ItemGroup>
  <ItemGroup>
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets" />
</Project>

并使用以下命令创建一个新的add_linux_executable()命令:

cmake_minimum_required(VERSION 2.8)

project(ConfigurevcxprojForLinux)

function(add_linux_executable _target)
    if (CMAKE_GENERATOR MATCHES "Visual Studio ([0-9]*)")
        foreach(_source IN LISTS ARGN)
            get_filename_component(_source_abs "${_source}" ABSOLUTE)
            file(TO_NATIVE_PATH "${_source_abs}" _source_native)
            list(APPEND _sources "${_source_native}")
        endforeach()
        file(TO_NATIVE_PATH "${CMAKE_CURRENT_LIST_FILE}" _list_file_native)
        list(APPEND _sources "${_list_file_native}")

        string(
            UUID _guid 
            NAMESPACE "2e4779e9-c831-47b0-b138-3745b2ed6ba9" 
            NAME ${_target}
            TYPE SHA1
            UPPER
        )

        configure_file(
           "LinuxTemplate.vcxproj.in" 
            "${CMAKE_CURRENT_BINARY_DIR}/${_target}.vcxproj" 
            @ONLY
        )

        include_external_msproject(
            ${_target}
            "${CMAKE_CURRENT_BINARY_DIR}/${_target}.vcxproj"
            TYPE "8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942"
            GUID "${_guid}"
        )
    endif()
endfunction()

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

    int main()
    {
        std::cout << "Hello Linux !" << std::endl;
    }
]=])
add_linux_executable(${PROJECT_NAME} "main.cpp")

请注意模板替换:

> @ CMAKE_MATCH_1 @获取Visual Studio版本号
> @ _target @用于项目RootNamespace
> @ _sources @为源文件你已经将“add_linux_executable()`作为参数
> @ _guid @项目的唯一GUID

对于您选择的任何编译选项,这仍然需要一个模板.但使用模板使这种方法更灵活.

CMake 无法找到 Visual Studio 15 2017 生成器的实例,但在 Visual Studio 16 2019 中工作正常

CMake 无法找到 Visual Studio 15 2017 生成器的实例,但在 Visual Studio 16 2019 中工作正常

如果您想生成面向 Visual Studio 2017 平台工具集 (v141),但使用 Visual Studio 2019 作为生成器,您可以使用以下 CMake 生成命令

cmake -G "Visual Studio 16 2019" -T v141 ..
,

我认为这是一个不幸的命名案例。安装“VS 2017 C++ x64/x86 构建工具”只会安装编译器、链接器和标准库,而不是包括 MSBuild 在内的整个“Visual Studio Build Tools 2017”。但是您需要后者才能使用“Visual Studio 15 2017”生成器。您可以在 https://aka.ms/vs/15/release/vs_buildtools.exe

找到 2017 构建工具的安装程序

关于visual studio 2019 + cmake 实现windows linux跨平台开发环境搭建vs跨平台编译linux的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于.net-4.0 – windows xp上的visual studio 2013、c – Visual Studio 2013中的Windows XP和Windows Server 2003支持、c – 用于Visual Studio Linux跨平台的CMake Generator、CMake 无法找到 Visual Studio 15 2017 生成器的实例,但在 Visual Studio 16 2019 中工作正常的相关知识,请在本站寻找。

本文标签: