c++ - 在 Visual Studio 中使用 'Linux development with C++' 时如何将源保留在本地?

标签 c++ linux visual-studio cross-platform

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

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

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

我想在我的 Windows PC 上本地编译源代码(使用 LLVM),而不是让 VisualStudio 将源文件复制到 linux 虚拟机/服务器以进行远程编译。

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

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

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

最佳答案

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

It is possible to turn off the copying of sources , 但前提是您已经通过其他方式复制/同步它们:

The Copy Sources property page allows you to specify whether to copy sources to the remote Linux system. You may not want to copy sources if you are working with a share or are managing your own synchronization through other means.

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

关于c++ - 在 Visual Studio 中使用 'Linux development with C++' 时如何将源保留在本地?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55903168/

相关文章:

c++ - 花栗鼠:将多边形分解成小块

c++ - CHtmlEditCtrl : Windows is destroyed on ShowWindow(SW_HIDE)

一个进程和另一个具有多个线程的进程是否可以与一个共享资源同步

c# - 最新的 VS Mac 更新导致 Xamarin Android 中的 SetContentView(resourceid) 出现 SIGSEGV

c++ - `std::unique_ptr` 的这种行为是预期的吗?

c++ - 宏 ((void(*)())0)() 是什么意思?

c++ - 在 VS、UNIX/Linux 中删除 STL 迭代器后会发生什么情况?

php - PHP 能否检测到 Apache 是否已重新启动?

c++ - 我如何获得 glew.h 和 freeglut.h 库?

c++ - 从字节数组打印十六进制浮点常量