从 Visual Studio 2008 解决方案创建 Unix makefile
Posted
技术标签:
【中文标题】从 Visual Studio 2008 解决方案创建 Unix makefile【英文标题】:Create Unix makefile from Visual Studio 2008 Solution 【发布时间】:2015-01-21 08:42:16 【问题描述】:我正在使用 Visual Studio 2008 编写 C++ 静态库。我的静态库需要由 Windows 和 Linux (Red Hat) 的不同可执行文件加载
现在,对于 windows 构建我没有任何问题,因为我正在使用它的环境进行开发(正如我在 Win 8 上已经说过的 VS 2008)。
我在 Linux 上移动代码时出现了问题。 真诚地,我不知道什么是更好的解决方案。
所以我在这里问几个问题以寻找正确的选择:
我应该使用一些工具在 Windows 上编译我的可执行文件来为 linux 构建版本吗?这甚至可能吗?什么工具?我尝试了 Cmake,但我没有找到方法。
我应该在 Windows 上编译我的 lib,在我的 Linux 系统上传输它,然后在 Linux 中编译一个加载我的静态库的可执行文件吗?
是否有一种工具可以仅将我的 vcproj 转换为 makefile?所以在windows中我只生成makefile,发送到Linux系统,然后编译一切?
真正的问题是我对makefile没有那么自信,这个项目真的很大,从头开始创建我自己的makefile是我最后可能的选择,我想避免它,因为有很多工作要做这可能很耗时
提前致谢!
【问题讨论】:
你已经有了VS解决方案,否则我会推荐可以为你生成解决方案文件和makefile的工具,例如CMake。 好的,我再看看Cmake!谢谢 CMake 将有助于您使用第三个要点。该过程将是您(手动)将您的解决方案“转换”为 CMakeList 文件。从此文件中,您可以生成 Visual Studio 解决方案、Makefile、Ninja 文件、XCode 项目或 ... @FredMaggiowski 理论上你可以在 Linux 下使用 mingw 编译你的库,这样它就可以在 Windows 中运行。因此,您只需要一台主机即可为两个平台发布版本。请参阅此blog post 了解一下。 CMake 应该是这个概念的一部分。看到这个article。 已经在这里回答了:***.com/questions/6649606/vcxproj-to-cmake 【参考方案1】:在寻找正确选择的旅程结束时,我找到了最适合我需求的解决方案。
我所做的是使用 Make It So 为我的解决方案中的每个项目创建 makefile,然后将 makefile 与源代码一起传输,在对 makefile 进行一些自定义以满足我的需要之后,我顺利地编译了我的代码。
感谢那些发表评论的人,你们在我的研究中帮助了我!
干杯!
【讨论】:
以上是关于从 Visual Studio 2008 解决方案创建 Unix makefile的主要内容,如果未能解决你的问题,请参考以下文章
从 Visual Studio 2005 迁移到 2008 和 .NET 2.0
从 Visual Studio C++ 6.0 到 VS 2008?