如何在 Visual Studio C++ 中编译只有“makefile”而没有解决方案文件的开源框架?
Posted
技术标签:
【中文标题】如何在 Visual Studio C++ 中编译只有“makefile”而没有解决方案文件的开源框架?【英文标题】:How to compile open source framework in Visual Studio C++, that has "makefile" only and no solution file? 【发布时间】:2009-07-24 15:48:10 【问题描述】:【问题讨论】:
没有人给出答案认为这个问题应该被投票。奇怪。 也许他们觉得这个问题并不那么有趣。我回答了很多我并不真正感兴趣的问题,以获得声望,通常是有帮助的,有时是一种忏悔。 【参考方案1】:不幸的是,这种变化没有灵丹妙药。 Make 和 Visual Studio C++ 风格的构建是非常不同的野兽。虽然它们可以执行非常相似的操作,但它们也可以具有截然不同的结构,这使得提供简单的指南非常困难。
恕我直言,实现这一目标的最佳方法是启动一个新的 C++ 项目。添加所有现有文件并逐步检查 make 文件,尝试将每个操作转换为等效的 C++ 操作。
【讨论】:
【参考方案2】:如果您只需要一个可以通过 VC 链接到的自建二进制文件(即不集成到现有的 VS 解决方案中),请查看 MSys。它允许您将 GNU make 与 VC 一起使用。因此,您可以使用随 OS 项目提供的 GNU 构建系统,同时使用 VC 进行编译。
【讨论】:
【参考方案3】:首先确保代码可以在 Windows 上运行。开源 C++ 代码通常依赖于 POSIX。如果是这种情况,那么您需要安装 MinGW 或 Cygwin。
如果你不熟悉跨平台编程,那么这个项目可能是一项痛苦的任务。 (编辑:这是我个人的经验。我无意让你气馁。顺便说一句,这是你从中学到最多的痛苦项目!)
【讨论】:
【参考方案4】:为什么不将此视为学习一些新技术的机会,例如MinGW,它在编译代码时应该很少出现问题。
【讨论】:
【参考方案5】:如果您打算继续支持多个平台,您可能会考虑迁移到跨平台构建系统,例如 cmake 或 waf。
【讨论】:
【参考方案6】:MSVC 通过 nmake 支持自己的 make 实用程序风格,但与 GNU make 有一些不同(即参见 Use the same makefile for make (Linux) and nmake(Windows))。
因此您可能需要编辑 makefile(一些编译器和链接器选项不适用于开始)。
【讨论】:
以上是关于如何在 Visual Studio C++ 中编译只有“makefile”而没有解决方案文件的开源框架?的主要内容,如果未能解决你的问题,请参考以下文章
如何只用visual c++编译器而不安装visual studio
如何在 Ubuntu 中使用 Visual Studio Code 编译 C++ 代码? [关闭]
如何在Visual Studio和CodeBlocks中反编译C++代码
如何只用visual c++编译器而不安装visual studio