用于编译共享库文件的简单makefile

时间:2012-05-29 16:28:42

标签: c++ c linux gcc x86-64

我需要一个非常简单的makefile来编译共享对象库文件(* .so)。我还需要知道如何传递优化参数,如-O2和-O3。我尝试使用谷歌搜索简单的例子,但所有的例子都是扭曲的。

我不需要创建像* .so.1.0这样的任何版本,只需创建一个简单的* .so文件。我的项目有多个文件,所以我需要一个编译多个文件的例子。

1 个答案:

答案 0 :(得分:3)

我能想到的最简单的makefile就是你想要的:

CXXFLAGS += -fPIC
CXXFLAGS += -O3
x.so: x.o y.o
    g++ -shared $^ -o $@

在替代方案中,您可能希望使用更多make的内置规则和变量:

CXXFLAGS += -fPIC
CXXFLAGS += -O3
x.so: x.o y.o
    $(LINK.cc) -shared $^ $(LOADLIBES) $(LDLIBS) -o $@