2017-07-28 2 views
0

Hier erfahren Sie, wie Sie das azure-storage C++ - Toolkit in CMake integrieren.CMake Include für C++ Azure

Ich versuche, ein Werkzeug in unserer Anwendung zu bauen, die mit Azure Blob Speicher verbindet, listet Dateien/Container auf, liest Daten, etc., ich arbeite auf Linux (Ubuntu 17.04). Ich habe sowohl die cpprestdk- als auch die azure-storage-Tools aus der Quelle erstellt.

Ich bin in der Lage, einige Dinge zu kompilieren, weil ich buchstäblich

-I/apps/azure/inst/include

zum CMAKE_CXX_FLAGS hinzuzufügen. Wie Sie sehen können, habe ich CMAKE_INSTALL_PREFIX=/apps/azure/inst verwendet, sowohl für cpprest als auch für azure-storage.

Im Unterverzeichnis lib befindet sich ein Verzeichnis cpprestsdk/, das .cmake-Dateien enthält. Aber ich brauche eine .cmake-Datei für azure-storage, die ich in meine eigene CMakeLists.txt einschließen kann, die Sachen hinzufügt, die ich brauche (flags, libs, etc.). Ein Blick auf die Beispiele zeigt, dass diese so gebaut sind, dass sie nur während des Baus des SDK funktionieren.

Weiß jemand, ob es solch eine .cmake Include-Datei gibt, und wenn ja .... wo ist es installiert?

Antwort

0

OK gut, ich konnte nichts finden und niemand postet eine Antwort, also habe ich experimentiert. Die kurze Antwort ist: Verwenden Sie die cpprest Sachen und fügen Sie einige azure-storage Direktiven selbst hinzu.

Das einzige, was ich finden konnte, ist CMake-Code in der README.mdcpprest. Ich nahm das auf und fügte meinen eigenen azurblauen Speicherruf hinzu, wo das nötig sein könnte.

Hinzugefügt: (! Gott sei Dank)

find_path(AZURE_INST_DIR "" HINTS /apps/azure/inst REQUIRED) 

Das Ganze funktioniert, weil die große Masse von Abhängigkeiten unter cpprest, azurSpeicher selbst keine zusätzlichen Abhängigkeiten hat.

Hinweis gcc-Benutzer: Deaktivieren Sie -Wshadow und -Woverloaded-virtual, weil der cpprest und azure-Speicher-Code mit diesen gespickt ist (offensichtlich sind diese in Visual Studio nicht verfügbar).