过去一年,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] 删除。
我来说两句