簡體   English   中英

如何在Visual Studio中將Linux編譯添加到Cmake項目

[英]How to Add Linux Compilation to Cmake Project in Visual Studio

Visual Studio在過去一年中為C ++添加了許多新功能。

CMake通過CMake支持,我可以執行“打開文件夾”並選擇包含CMakeLists.txt文件的文件夾。 Visual Studio在自動發現和構建它方面做了很多很好的工作。

Linux編譯 Visual Studio現在支持通過SSH在Linux上進行遠程編譯。 幾個教程展示了用戶如何在Visual Studio中創建新的“Linux控制台應用程序”,它將自動要求設置SSH連接以用於構建它。 我沒有看到任何關於如何在任何類型的現有項目上執行此操作的說明。

特別是對於CMake項目,是否可以在Visual Studio 2017中打開CMake文件夾並將其構建在遠程Linux機器上? IfSoHow?

在CMake中沒有對VS“Linux控制台應用程序”的內置支持(與CMake版本3.9一樣)。

編輯: Visual Studio 2017 15.4現在提供類似的東西,而不生成實際的.vcxproj文件。 請參閱使用CMake進行Linux C ++的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}"
)

這實際上可以工作並生成一個被VS接受的Linux .vcxproj項目。 但是,由於我們在這里回避了CMake,因此將不會分配您在CMake腳本中定義的其他編譯器/鏈接器選項。

所以我的建議是提出一個功能請求,讓CMake自己直接支持這個(例如通過平台工具集選項Remote_GCC_1_0 )。

它似乎沒有像你期望的那樣工作。 您似乎需要為現有的cmake代碼庫創建單獨的linux vcproject。 在VS選項中沒有像linux目標那樣的東西。 有關更多信息,請參閱此msdn博客中的評論。

您可以創建“新的Linux項目”並復制您的源代碼或嘗試(並適應)使用現有來源這些非官方腳本: https//github.com/robotdad/vclinux

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM