在makefile中创建静态库,使用linux g++编译器
Posted
技术标签:
【中文标题】在makefile中创建静态库,使用linux g++编译器【英文标题】:Creating static library in a makefile, using linux g++ compiler 【发布时间】:2012-03-09 16:13:21 【问题描述】:我有简单的文件: 你好.h,你好.cpp
我创建了一个 makefile 来生成一个静态库 (libhello.a) 但我收到错误消息,我做错了什么?
我的代码是:
CC = g++
CFLAGS = -Wall -g
utilObjs = hello.o
libhello.a: $(utilObjs)
ar rc $@ $(utilObjs)
ranlib $@
hello: hello.o libhello.a
$(CC) $(CFLAGS) hello.o -L ./ -lutil -o $@
hello.o: hello.cpp hello.h
$(CC) $(CFLAGS) -c $>
clean:
rm -rf *.o libhello.a hello
all: hello
.PHONY: all clean
错误信息: g++:致命错误:没有输入文件 编译终止
【问题讨论】:
默认的 GNU make 规则(您可以使用make -p
获取它们)已经有编译 C++ 的规则,使用 CXX
而不是 CC
等。你应该使用remake
帮助调试您的Makefile
【参考方案1】:
我不认为$>
有什么特别的意思,把它改成$<
,它扩展为规则的第一个先决条件。 (在这种情况下为 hello.cpp)
【讨论】:
以上是关于在makefile中创建静态库,使用linux g++编译器的主要内容,如果未能解决你的问题,请参考以下文章