问题:
make后出现问题
g++: error: unrecognized command line option ‘-fno-plt
解决:
makefile文件
CXXFLAGS = -I include -std=c++11 -O3 $(shell python3-config --cflags)
LDFLAGS = $(shell python3-config --ldflags)
/home/admin1/anaconda3/include/python3.7m
DEPS = $(shell find include -xtype f)
CXX_SOURCES = pse.cpp
LIB_SO = pse.so
$(LIB_SO): $(CXX_SOURCES) $(DEPS)
$(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS) $(CXX_SOURCES) --shared -fPIC
clean:
rm -rf $(LIB_SO)
修改:
CXXFLAGS = -I include -std=c++11 -O3 -I/home/admin/anaconda3/include/python3.7m
LDFLAGS = $(shell python3-config --ldflags)
DEPS = $(shell find include -xtype f)
CXX_SOURCES = pse.cpp
LIB_SO = pse.so
$(LIB_SO): $(CXX_SOURCES) $(DEPS)
$(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS) $(CXX_SOURCES) --shared -fPIC
clean:
rm -rf $(LIB_SO)
验证:
$ make
g++ -o pse.so -I include -std=c++11 -O3 -I/home/admin/anaconda3/include/python3.7m -L/home/admin/anaconda3/lib/python3.7/config-3.7m-x86_64-linux-gnu -L/home/admin/anaconda3/lib -lpython3.7m -lcrypt -lpthread -ldl -lutil -lrt -lm -Xlinker -export-dynamic pse.cpp --shared -fPIC