【发布时间】:2011-12-24 05:03:31
【问题描述】:
希望在这里有所了解。我有我们的一个项目的源代码,没有关于如何编译的文档,所有编写它的人都离开了:) 我们有一个问题,幸运的 moi 已受命调查。
目前我正在尝试在 AIX 上构建,makefile 一直在抱怨
make: 1254-055 Dependency line needs colon or double colon operator.
或
make: 1254-057 Shell command needs a leading tab.
CPP选项好像是xlc选项,软件之前编译过很多次。 makefile 包含来自 windows 的控制字符,并且确实有针对某些条目但不是所有 shell 命令的选项卡。
对在代码上运行 make 可能出现什么问题有任何想法吗?我还没有安装 GNU make,这能解决问题吗?
【问题讨论】:
-
Makefile 是否有 CR-LF 行尾标记? CR 可能会让挑剔的
make感到困惑。 -
没有“gcc make”之类的东西。 “gcc”是 GNU 编译器集合,其中包括 GNU C 编译器。 “make”是一个构建工具; GNU make 是众多实现之一。
-
感谢大家的回复.. mu - 即使它是为 AIX 设计的,makefile 中似乎确实包含 cr/lf .. Keith - 应该更清楚,我的意思是 gmake 而不是make,据我所知,gmake 是 GN 编译器集合使用的 make 的实现。这些文件在过去已经工作了好几次,所以很可能是我正在做/不做的事情导致了问题。
-
一个人将 makefile 复制到 Windows 机器并将其保存在那里可以解释所有这些。如果它以前有效,并且您没有进行任何需要 gmake 功能的更改,为什么不弄清楚发生了什么变化?你有一个版本控制的副本从它工作时回来吗?与电流不同。 CR-LF 几乎可以肯定是一个问题,并且您必须有 shell 命令的前导选项卡。祝你好运。
-
make仅是PASE,而不是ILE。gmake是ILE,更好。