【发布时间】:2020-05-20 17:53:02
【问题描述】:
我是 makefile 的新手,我想制作一个 .so 库并在 main.o 文件中使用它,我想使用当前目录中的库。我怎样才能使它工作?
CFLAGS = -Wall -g
CC = g++
all: main.o mylib.so
$(CC) main.o mylib.so -o runProg
mylib.so : b1.o a1.o head1.h header2.h header3.h
$(CC) $(CFLAGS) -shared -fPIC -o mylib.so b1.o a1.o
b1.o: b1.cc b1.h
$(CC) $(CFLAGS) -fPIC b1.cc
a1.o: a1.cc
$(CC) $(CFLAGS) -fPIC a1.cc
main.o: main.cc
$(CC) $(CFLAGS) main.cc -L. -lmylib
我得到的错误:
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lmylib
collect2.exe: error: ld returned 1 exit status
makefile:28: recipe for target 'main.o' failed
mingw32-make: *** [main.o] Error 1
非常感谢任何帮助和纠正这项工作!
【问题讨论】:
标签: c++ c makefile shared-libraries dynamic-library