2017-05-27 6 views
0

Edit:Aufbau einer OpenCV-Anwendung mit statischen Bibliotheken

Problem nach wenigen Schritten gelöst. Sie können sich meinen Beitrag auf der OpenCV Q & A Seite ansehen.

http://answers.opencv.org/question/152366/build-application-with-static-libraries/

Ich versuche statisch auf einem anderen Computer meine C++ (CMake) Anwendung zu verknüpfen, laufen, die nicht OpenCV installiert haben.

Bisher

  1. Ich baute OpenCV von der Quelle durch BUILD_SHARED_LIBS auf OFF, so kann ich Bibliotheksdateien unter lib Verzeichnis. (mit .a Erweiterung)

  2. Ich habe die Umgebungsvariable für den neuen Build von OpenCV bearbeitet, meine IDE sieht Verzeichnisse und Dateien ein, also scheint dieser Schritt auch in Ordnung zu sein.

  3. Added "-static" Parameter target_link_libraries in CMake Befehl:

    target_link_libraries(HoGPeopleDetector ${OpenCV_LIBS} "-static") 
    

dann die Anwendung neu erstellt, erhöhte EXE Größe 1,6 MB 200 KB. Ich denke also, der Verknüpfungsprozess war erfolgreich.

Die Anwendung funktioniert gut, wenn ich es in meiner IDE ausführen. Wenn ich versuche, es aus der EXE-Datei auszuführen, erwartet es weiterhin DLL-Dateien. (Libopencv_core310.dll und vielleicht auch mehr)

IDE: CLION 2017.01.02 OpenCV: 3.1

Antwort

Verwandte Themen