Ich bin nicht vertraut mit Makefile und CMake, ich möchte dieses Makefile von Drittanbietern zu CMakeList.txt konvertieren, so dass dieser 3rd-Party-Code mit neuesten DLib-Code kompilieren kann, aber ich habe keine Ahnung, wie.Wie konvertiert man dieses Makefile in CMakeList.txt?
Ich weiß nur ein paar grundlegende CMake-Befehl, aber diese Datei hat viele Flags und Befehlsoptionen, ich fühle mich jetzt sehr ahnungslos.
CXX = g++
CXXFLAGS = -g -I./include -I./src/dlib/all/source.cpp -ljpeg -mavx -lm -lpthread -lX11 -DDLIB_HAVE_BLAS -DNDEBUG -DDLIB_JPEG_SUPPORT -DDLIB_HAVE_AVX -O3 `pkg-config --cflags opencv `
LDFLAGS = -ljpeg -mavx -lm -lpthread -lX11 `pkg-config --libs opencv` -DDLIB_HAVE_BLAS -DNDEBUG -DDLIB_JPEG_SUPPORT -DDLIB_HAVE_AVX -O3
all: bin/oic
bin/oic: obj/dlib.o obj/faceDetection.o obj/pupilDetection.o obj/kalmanFilters.o obj/util.o obj/oic.o
$(CXX) -o [email protected] $^ $(LDFLAGS)
# Should use findpackage(DLib) instead
#obj/dlib.o: ./src/dlib/all/source.cpp
#obj/dlib.o: ../../Dlib/dlib-19.7/dlib/all/source.cpp
# mkdir -p obj bin
# $(CXX) -c $(CXXFLAGS) -o [email protected] $<
obj/faceDetection.o: ./src/faceDetection.cpp
$(CXX) -c $(CXXFLAGS) -o [email protected] $<
obj/pupilDetection.o: ./src/pupilDetection.cpp
$(CXX) -c $(CXXFLAGS) -o [email protected] $<
obj/kalmanFilters.o: ./src/kalmanFilters.cpp
$(CXX) -c $(CXXFLAGS) -o [email protected] $<
obj/util.o: ./src/util.cpp
$(CXX) -c $(CXXFLAGS) -o [email protected] $<
obj/oic.o: ./src/oic.cpp
$(CXX) -c $(CXXFLAGS) -o [email protected] $<
.PHONY: all oic
clean:
rm -rf obj/*.o
rm -rf bin/oic
Vielen Dank.
Mögliche Duplikat (https://stackoverflow.com/questions/9985839/creating-cmakelists-file-from-existing-makefile) – Gaurav
'diese Datei eine Menge Fahnen [CMakeLists Datei aus vorhandenen Makefile Erstellen] hat und Befehlsoptionen, ich fühle mich jetzt sehr ahnungslos. - Wir sind kein Code Writer Service. Nehmen Sie einen Befehl in Makefile, versuchen Sie es in CMake zu konvertieren, falls Sie Schwierigkeiten haben, verwenden Sie die Suche. Wenn die Suche nicht hilft, fragen Sie hier nach bestimmten Befehlen. – Tsyvarev
@Tsyvarev, OP sucht nach einem "Einstiegspunkt". Warum gibst du ihm nicht ein paar Hinweise? Er/sie müsste immer noch die vollständige Lösung selbst herausfinden. OP könnte in einer Situation sein, wenn er/sie keine Zeit hat, CMake von A bis Z zu lernen. –