C++ 单个makeFile Windows/Linux/Mac OS

C++ 单个makeFile Windows/Linux/Mac OS,c++,makefile,gnu-make,C++,Makefile,Gnu Make,我们有一些用C/C++编写的应用程序,并为它们创建了makefiles。目前,我们正在windows上使用GNU make系统(基于cygwin)。makefiles是很久以前写的,只考虑了Windows操作系统。现在我们要改造一切 我不知道在编写makefile以使其跨平台兼容时要考虑哪些因素。我在网上查阅了一些资料,但并不令人满意。有人能列出在编写makefiles时要考虑的问题,以便使它们在不同的平台上兼容吗 PS:我看过这个链接,但我想它不是我想要的。 您可以使用-这是一个跨平台的工具,

我们有一些用C/C++编写的应用程序,并为它们创建了makefiles。目前,我们正在windows上使用GNU make系统(基于cygwin)。makefiles是很久以前写的,只考虑了Windows操作系统。现在我们要改造一切

我不知道在编写makefile以使其跨平台兼容时要考虑哪些因素。我在网上查阅了一些资料,但并不令人满意。有人能列出在编写makefiles时要考虑的问题,以便使它们在不同的平台上兼容吗

PS:我看过这个链接,但我想它不是我想要的。

您可以使用-这是一个跨平台的工具,可以生成与您的平台相关的makefile或projects文件。因此,您不用编写Makefile,而是编写CMakeLists.txt,然后运行cmake,它将生成Makefile。当您想在另一个平台上编译程序时,只需使用不同的目标项目系统运行cmake。

您可以使用-它是一种跨平台工具,可以生成与您的平台相关的Make文件或项目文件。因此,您不用编写Makefile,而是编写CMakeLists.txt,然后运行cmake,它将生成Makefile。当你想在另一个平台上编译你的程序时,你只需在不同的目标项目系统上运行cmake。

如果我一定不使用cmake,那么?为什么你一定不使用cmake?不使用cmake的一个重要原因是cmake不包含在macOS中,甚至不包含在XCode命令行工具中。查找和安装此第三方工具会增加一个附加步骤,这可能是公司安全策略所允许的,也可能是不允许的。如果我一定不使用cmake,那么?为什么你一定不使用cmake?不使用cmake的一个重要原因是,macOS甚至XCode命令行工具都不包含cmake。查找和安装此第三方工具会增加一个附加步骤,这可能是公司安全策略所允许的,也可能是不允许的。