我想使用gcc和makefile編譯一些C包裝函數到Python 3.4,但我找不到正確的編譯和鏈接標誌。我使用Ubuntu的14如何使用gcc編譯和鏈接python3包裝函數
現在這是我試圖在makefile:
CC = gcc
CFLAGS = -Wall -std=c99 `pkg-config --cflags python3`
LDFLAGS = `pkg-config --libs python3`
final: functions.o wrapper.o
$(CC) -o functions.o $(CFLAGS) $(LDFLAGS)
functions.o: functions.c functions.h
$(CC) $(CFLAGS) -c functions.c
wrapper.o: wrapper.c
$(CC) $(CFLAGS) -g -c wrapper.c
使用這個讓我這個錯誤:
/usr/bin/ld: /usr/local/lib/libpython3.4m.a(dynload_shlib.o): undefined reference to symbol '[email protected]@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libdl.so.2: error adding symbols: DSO missing from command line
另外,我在makefile中一點經驗,所以我不這樣做,如果我沿着這條路做了什麼錯誤
@MichaelPetch是的,得到了同樣的錯誤 – Jorgel 2014-11-05 03:33:34
建立對靜態庫不會讓你開心。 – 2014-11-05 05:21:40