我应该在 Visual Studio 下为 Linux 交叉开发吗

Posted

技术标签:

【中文标题】我应该在 Visual Studio 下为 Linux 交叉开发吗【英文标题】:Should I cross-develop for Linux under Visual Studio 【发布时间】:2011-06-13 21:56:48 【问题描述】:

似乎 Visual Studio 和您可以使用的工具远远优于 Eclipse 和其他 Linux 平台。

那么在 Visual Studio 下交叉开发 Linux 是否有意义,只要代码大致相同?

我假设您可以轻松共享文件。

当然这取决于你所知道的和项目设置,但是对于以后,导入到 VS 可能比导入到 Eclipse 更容易。

【问题讨论】:

【参考方案1】:

这实际上是可能的,但前提是您在 Windows 和 Linux(或其他一些 *nix 变体)上都有正确的基础架构。我曾经在一家投资银行工作,几乎所有的工作都是在 Windows 上使用 VC++ 完成的,然后转移到 Solaris 并重新编译。这使我们能够使用远远优于 Solaris 的 Windows 工具。我们在这里谈论的是构建多层、多线程的服务器。

但是,为了让这项工作发挥作用,他们在高级开发人员时间方面付出了巨大的努力(我猜大约需要 15 人年)。这是值得的,因为 Solaris 开发工具是裤子(但 Linux 的工具实际上相当不错)。除非您正在编写通用命令行实用程序,否则您作为个人开发人员会发现这不是特别容易做到的事情。在这种情况下,您可以这样做 - 我经常在 Linux 上重新编译我的 Windows 命令行项目。

【讨论】:

我做了同样的事情(Visual Studio/Solaris),但是使用了 Qt 基础设施。我们花了不到很多年的时间来建立;也许3个月。那是一个使用 imake 的项目,它在十年前就已经很古老了。【参考方案2】:

在我看来,困难的部分是维护单独的构建系统。如果您使用 Visual Studio 启动项目,您会很想使用 Visual Studio 构建系统设置项目。

不要那样做。

相反,我建议尝试CMake。使用 CMake 构建构建系统,然后从该起点开始工作。

【讨论】:

【参考方案3】:

如果我必须在 Visual Studio 和 Emacs 之间进行选择,我会选择 Emacs。 Visual Studio 似乎优于您的事实只是因为您已经习惯了它并且不知道如何使用其他工具来完成您通常的工作流程。毕竟,Eclipse 可能不是 Windows 开发人员迁移到 Linux 的最佳选择。我也想看看Qt Creator。

【讨论】:

@Neil:是我做的。人们总是惊讶于他们愿意为不学习 emacs 做多少事情。这次是交叉编译。 @Vlad Lazarenko:你是说 vim 吗? :) @rturrado:vim 也一样!还有bashsedawkgdb 和大量强大工具的美丽!你怎么能把它换成一个愚蠢的视觉工作室,你甚至不能正确管理多个项目的设置?呃,哦…… 有趣的是,有人会说 Emacs 被低估了,因为人们不知道它,然后继续说 Visual Studio 如何无法处理多个项目设置。你只是继承它们。顺便说一句,这比被称为 makefile 的地狱要容易 100 倍。 @Vlad Lazarenko:哦,我有一个朋友在网上哈哈告诉我,我已经花了一个星期,还在继续寻找适合 C#、C++/CLI 项目的正确配置。噩梦。

以上是关于我应该在 Visual Studio 下为 Linux 交叉开发吗的主要内容,如果未能解决你的问题,请参考以下文章

使用 Visual Studio 2015 库安装 dlib

尝试使用 Visual Studio 2010 调试 dll (C++) 时出现错误消息

Visual Studio 2022 无法在 docker 上启动应用程序

我应该注意 Visual Studio 给我的这个警告吗?

我应该选择创建新网站,还是在 Visual Studio 中创建新项目? [复制]

我应该如何在Mercurial存储库中设置我的Visual Studio项目/解决方案?