C++ 如何在使用';使用C++';在VisualStudio中?

C++ 如何在使用';使用C++';在VisualStudio中?,c++,linux,visual-studio,cross-platform,C++,Linux,Visual Studio,Cross Platform,我有一些源代码,我打算在将来为Windows/Linux和其他平台编译/调试 到目前为止,它在Windows上运行,所以我在VisualStudio中安装了“Linux C++开发”包,以便为Linux编译/调试它 我尝试了一个小的例子,但它在编译之前上传了源代码,这不是我想要的 我希望在Windows PC上本地编译源代码(使用LLVM),而不是让VisualStudio将源文件复制到linux vm/服务器进行远程编译 我更喜欢将源代码只放在一个“安全”位置,并将所有内容都保存在本地,比如编

我有一些源代码,我打算在将来为Windows/Linux和其他平台编译/调试

到目前为止,它在Windows上运行,所以我在VisualStudio中安装了“Linux C++开发”包,以便为Linux编译/调试它

我尝试了一个小的例子,但它在编译之前上传了源代码,这不是我想要的

我希望在Windows PC上本地编译源代码(使用LLVM),而不是让VisualStudio将源文件复制到linux vm/服务器进行远程编译

我更喜欢将源代码只放在一个“安全”位置,并将所有内容都保存在本地,比如编译器和linux系统文件头。所以我不上传源代码的主要原因是安全性和源代码控制

因此VisualStudio将在本地编译(使用LLVM),然后将可执行文件上载到linux vm/服务器上,并运行它进行调试。或者,如果可执行文件已经存在或正在运行,它可以启动它或附加到进程以进行远程调试会话


我不确定这是否可能。我看到的所有示例都假设源代码位于linux目标上

那是行不通的。Linux虚拟机不仅用于运行/调试,还用于构建-从技术上讲,您可以交叉编译,但它要复杂得多,功能设计人员选择不这样做

,但仅当您已通过其他方式复制/同步它们时:

“复制源”属性页允许您指定是否将源复制到远程Linux系统。如果使用共享或通过其他方式管理自己的同步,则可能不希望复制源


如果无法保护VM或VM与主开发环境之间的路径,则应切换到完全封闭的基于Linux的开发环境。

这是行不通的。Linux虚拟机不仅用于运行/调试,还用于构建-从技术上讲,您可以交叉编译,但它要复杂得多,功能设计人员选择不这样做

,但仅当您已通过其他方式复制/同步它们时:

“复制源”属性页允许您指定是否将源复制到远程Linux系统。如果使用共享或通过其他方式管理自己的同步,则可能不希望复制源


如果无法保护VM或VM与主开发环境之间的路径,则应切换到完全封闭的、基于Linux的开发环境。

我无法想象运行/调试需要远程源,但该功能的设计使构建可以远程进行,而构建需要源。因此,在运行/调试之前,它们已经在上面了。切换到基于Linux的开发环境对我来说不是一个解决方案。我想知道3件事:1-如果目标Linux上存在可执行文件,那么运行/调试remote是可能的,还是需要目标上的源代码进行调试?2-如果这在技术上是可能的,为什么你说它不起作用。我认为,由于VS已经能够复制文件,它只能复制可执行文件。可执行文件可以使用LLVM进行交叉编译。3-你能澄清一下你在哪里看到功能设计师选择不这样做吗?我不明白你的意思。你必须问这个问题的事实是,我们如何知道功能设计人员选择不这样做。这不是偶然发生的。我想你可能在什么地方读到过。在任何情况下,仅仅因为他们发布该功能时故意不支持它并不意味着这是不可能的。我无法想象运行/调试需要远程源,但该功能的设计使构建可以远程进行,构建需要源。因此,在运行/调试之前,它们已经在上面了。切换到基于Linux的开发环境对我来说不是一个解决方案。我想知道3件事:1-如果目标Linux上存在可执行文件,那么运行/调试remote是可能的,还是需要目标上的源代码进行调试?2-如果这在技术上是可能的,为什么你说它不起作用。我认为,由于VS已经能够复制文件,它只能复制可执行文件。可执行文件可以使用LLVM进行交叉编译。3-你能澄清一下你在哪里看到功能设计师选择不这样做吗?我不明白你的意思。你必须问这个问题的事实是,我们如何知道功能设计人员选择不这样做。这不是偶然发生的。我想你可能在什么地方读到过。在任何情况下,仅仅因为他们在发布该功能时故意不支持它并不意味着这是不可能的。