19

我想在 Linux 中使用 GCC 编译我的Visual Studio 解决方案和三个项目。该解决方案包含两个DLL 项目和一个使用这些 DLL 的应用程序 (.EXE) 项目。源代码不包含任何 Windows 依赖项。

如何将解决方案(包含 3 个项目)转换为可以使用GCC在 Linux 中编译的文件。

是否有任何工具可以将 Visual Studio 解决方案(项目)转换为文件/s。

Visual Studio 版本是Visual Studio 2008

4

3 回答 3

6

也许这可以帮助你,但你需要处理原始代码中的输出

做到这一点

http://code.google.com/p/make-it-so/

或 sln2mak

http://www.codeproject.com/Articles/28908/Tool-for-Converting-VC-2005-Project-to-Linux-Makef

我希望这可以帮助你

于 2013-02-14T17:29:53.397 回答
3

您可以使用vcproj2cmakevcxproj2cmake。此处已经列出了更多工具: How to support both vcxproj to cmake on a project?

于 2015-12-18T11:33:39.447 回答
0

首先,Linux 没有 DLL,它具有可以动态链接的共享对象,具有不同的语义。阅读 Levine 的Linkers & Loaders书了解更多信息,以及Program Library Howto和 Drepper 的How to write shared libraries。对于 C++,请注意名称修改,另请参阅C++ dlopen mini-howto

然后,我认为您不应该尝试将您的 VS 项目转换为Makefile.,您应该自己编写一个好的代码Makefile

不要忘记设置你的Makefile以便-Wall传递给 GCC(也许还有-std=gnu99-g如果你想要调试信息,可能通过CFLAGSCXXFLAGS)。

除非您的程序是一百万行代码的应用程序,否则您编写自己的Makefile. 我强烈建议学习使用GNU make并阅读它的文档,这在我看来写得很好(带有一些教程部分)。您可能会看一下它的输出,make -p它提供了 GNU 的“内置知识” make

您还可以查看现有的免费软件 Linux 应用程序并研究它们的Makefile.

顺便说一句,如果您很难调试您的 makefile,请使用remake

不要考虑“将我的应用程序转换为 Linux”,而是更多地考虑“编写 Linux 应用程序”。

请注意,存在一些框架(特别是 Qt)来开发可移植到 Linux、Windows 和 MacOS 的软件。您甚至可以将它们用于非 GUI 应用程序。

不要忘记阅读高级 linux 编程高级 unix 编程等资料

于 2012-10-14T07:24:52.640 回答