相关疑难解决方法(0)

创建一个简单的Makefile来构建共享库

我正在尝试创建一个非常基本的手工制作Makefile来创建一个共享库来说明一点.

这是我到目前为止:

SHELL = /bin/sh
CC    = gcc
FLAGS        = -std=gnu99 -Iinclude
CFLAGS       = -fPIC -pedantic -Wall -Wextra -march=native -ggdb3
DEBUGFLAGS   = -O0 -D _DEBUG
RELEASEFLAGS = -O2 -D NDEBUG -combine -fwhole-program

TARGET  = example.so
SOURCES = $(shell echo src/*.c)
HEADERS = $(shell echo include/*.h)
OBJECTS = $(SOURCES:.c=.o)

PREFIX = $(DESTDIR)/usr/local
BINDIR = $(PREFIX)/bin

all: $(TARGET)

$(TARGET): $(OBJECTS)
    $(CC) $(FLAGS) $(CFLAGS) $(DEBUGFLAGS) -o $(TARGET) $(OBJECTS)
Run Code Online (Sandbox Code Playgroud)

当我运行时make,它会尝试构建一个应用程序 - 并ld因为无法解决而失败main().

问题似乎与CFLAGS- 我已经指明-fPIC但是这不起作用 …

gcc makefile shared-libraries

30
推荐指数
3
解决办法
8万
查看次数

标签 统计

gcc ×1

makefile ×1

shared-libraries ×1