【发布时间】:2016-06-10 11:35:13
【问题描述】:
我在我的 Windows 机器上创建了一个应用程序,现在我想在我的 Linux 机器上安装它。它有几个头文件和源文件,所以我认为最好将它上传到 Github。我这样做了,我还创建了一个 Makefile,但是当我尝试直接从文件夹安装它时出现很多错误。
鉴于它仅供个人使用,有没有办法手动编译每个文件,然后将其作为一个整体运行?
生成文件:
.PHONY: all debug profile install uninstall clean
all: $(PROG)
$(PROG): $(FILES)
$(CC) $(CCFLAGS) -o $(PROG) $(FILES) $(LIBS)
debug: $(FILES)
$(CC) $(DEBUGFLAGS) -o $(PROG) $(FILES) $(LIBS)
profile: $(FILES)
$(CC) $(CCFLAGS) -pg -o $(PROG) $(FILES) $(LIBS)
install: $(PROG)
cp -f $(PROG) /usr/sbin/
cp -f $(PROG).1 /usr/man/man1/ || cp -f $(PROG).1 /usr/local/man/man1/
uninstall:
rm -f /usr/sbin/$(PROG)
rm -f /usr/man/man1/$(PROG).1 || rm -f /usr/local/man/man1/$(PROG).1
clean:
rm -f $(PROG)
【问题讨论】:
-
GitHub与安装无关,只是存放代码的地方。您能否提供代码和makefile 的minimal reproducible example,并展开“很多错误”?
-
makefile 的问题在于:
cp -f $(PROG) /usr/sbin/ cp -f $(PROG).1 /usr/man/man1/ || cp -f $(PROG).1 /usr/local/man/man1/,而错误是“没有这样的文件或目录”。我试图自己解决它,但我失败了。此外,我没有提供可验证的代码示例,因为我要求替代而不是代码检查。但是,如果代码是强制性的,我会添加它。 -
@jonrsharpe 我添加了部分生成文件。希望对您有所帮助。
-
“没有这样的文件或目录”之前的错误消息部分是什么?
-
cp:无法创建常规文件“/usr/man/man1”:没有这样的文件或目录
标签: compilation makefile installation