![]() |
1
7
您可以使用这样的构造:
|
![]() |
2
1
makefile的可移植性与操作系统无关,而是与make在相关平台上的实现有关。(因此存在一种间接关系,即make的实现可以从操作系统中猜到(但不准确)。一般来说,这是一个困难的问题,已经提出了许多解决方案。您可能需要研究automake,它将为您生成可移植的makefile。但是,automake针对不同unixen设置标志的问题的解决方案可能不会吸引您,因为解决方案基本上是“不要这样做”。与基于平台设置选项不同,其原理是根据主机或用户在配置时提供的功能来确定需要哪些标志。对于基于平台分配标志的问题,一个方便的基于autoconf/automake的解决方案是为每一个在配置时分配cflags的平台提供一个不同的文件,并在运行configure的用户的config_site环境变量中指定该文件。您可以根据平台在用户的登录脚本中分配配置站点。(即,将问题从配置/生成推到登录设置中)这使得分配对构建软件的用户是透明的。(透明但容易重写)。 |
![]() |
Darky · 多重定义…c++vsCode[重复] 2 年前 |
![]() |
Jim Merkel · 软件包管理器如何知道在哪里安装文件 2 年前 |
![]() |
franco yang · makefile中的循环main 2 年前 |
![]() |
dopller · 使用cmake将仅标题库包含到我的项目时出错 2 年前 |
![]() |
Andres Moreno Abrego · 为什么当BOOL_VAR为false时,Makefile表达式“export INTEGER_VAR?=$(if$(BOOL_VAR),2,5)”会导致INTEGER_VAR=2? 2 年前 |
![]() |
miterhen · 发生错误后,如何继续中断编译? 6 年前 |