Как построить динамическую библиотеку в Linux?
Когда я строю свой проект(Face_test.cpp), мне нужна эта команда:
g++ -std=c++11 -O3 -I.. ../dlib/all/source.cpp -DDLIB_JPEG_SUPPORT -DDLIB_PNG_SUPPORT -ljpeg -lpng -lpthread -lX11 -fPIC -shared -o Face_test.cpp
Но я ожидаю построить его с помощью команды типа:
g++ Face_test.cpp -L. -lFace -o Face_test
а это значит, что мне нужно построить свою библиотеку. Так как же я могу построить свою библиотеку?
Что я уже пробовал:
Я пытался построить свою библиотеку(libFace.so) с помощью команды типа:
g++ -std=c++11 -O3 -I.. ../dlib/all/source.cpp -DDLIB_JPEG_SUPPORT -DDLIB_PNG_SUPPORT -ljpeg -lpng -lpthread -lX11 -fPIC -shared -o libFace.soи затем,
g++ Face_test.cpp -L. -lFace -o Face_test
но это не сработало, и выдает ошибку вот так:
Face_test.cpp:41:57: fatal error: dlib/image_processing/frontal_face_detector.h: No such file or directory compilation terminated.
Итак, у меня есть еще один вопрос: почему мне все еще нужен *.h, когда у меня есть *.so?
Может ли кто-нибудь дать мне несколько советов?