如何在Linux下构建Visual Studio解决方案?

17

我一直在使用Windows,对Linux的经验非常有限。

我的Visual Studio解决方案包含5个C ++项目 - 其中4个是静态库,一个是主应用程序(使用这些静态库),我想将其移动到Ubuntu。

我没有使用任何Windows特定的代码,因此进行轻微更改后,我应该可以在Linux下编译。 如何做到这一点?在Linux下应该使用什么软件?我应该怎样处理静态库,是否应该在Linux下继续使用静态库?如何将Visual Studio解决方案转换为类似Linux的东西?

更新如果我只在Linux中下载Eclipse,然后逐个文件、逐个项目地重新创建并从VC++复制所有内容到Eclipse中呢? 这应该可以工作,不是吗? 我只有100-200个文件,因此可以手动完成。


是的,使用Eclipse应该非常好。 - Mats Petersson
4个回答

13
我可以想到两个合理的选项。第一个是创建一个 Makefile 文件,它会为您编译所有内容。曾经有一个叫做 Make It So 的实用程序可以自动完成这项工作。他们的网页指定与 Visual Studio 2010 兼容,它也可能适用于 Visual Studio 2012。
您还可以使用 cmake。 它需要更多的参与才能得到正确的结果,但最终的结果将是能够在几乎任何地方编译您的代码。

如果我只是在Linux中安装Eclipse,然后逐个文件地将所有内容复制到Eclipse中会怎样?手动重新创建每个项目、每个文件,然后只需复制内容?在Eclipse中,我可以创建“静态库”项目,然后在另一个项目中引用它吗? - Oleg Vazhnev
我不知道。我从未使用过Eclipse进行C++开发,而且当我用它进行Java开发时,我很讨厌它。 - zmbq

6

使用xbuild?如果您安装了Mono,那么您就有了xbuild,它是msbuild的开源版本。您可以使用类似于“xbuild solution.sln”的命令编译您的.sln文件。


现已弃用。似乎被msbuild所取代。https://www.mono-project.com/docs/about-mono/releases/5.0.0/#xbuild - Colton

0

Clion可以在Linux下自动生成.sln项目的CMake文件。


1
这是一个付费解决方案。 - Akib Azmain Turja
1
仍然很有趣,可惜它是付费的。 - BigChief

-1
如果您的代码不依赖于任何特定于Windows的库,则可以使用make实用程序制作任何lib、bin。
您还可以根据特定要求提供不同的规则来链接您的库。您也可以使用Make实用程序链接第三方库。

2
请通过提供具体的例子和/或详细的解释来澄清您的答案。 - tttthomasssss
这个答案似乎建议使用make来编译Visual Studio解决方案(.sln文件),这是不可能的。 - Codebling

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接