Dies ist, wie meine CMakeLists.txt sieht aus wieMit Asio Standalone-Header Bibliothek
ich die asio
Bibliothek von here heruntergeladen. Es besteht aus vielen Header-Dateien, die Sie in Ihr Projekt aufnehmen müssen. Das Problem ist, dass diese Header innerhalb von Verzeichnissen liegen und die #include
-Anweisungen nicht mit dem richtigen Verzeichnis übereinstimmen.
Zum Beispiel haben sie eine asio/async_result.hpp
Datei. Diese Datei enthält asio/detail/config.hpp
. Es sollte aber ../asio/detail/config.hpp
Was soll ich tun? Einfach all diese 200 Header-Dateien manuell in die richtige Verzeichnisstruktur umbenennen? Warum sind sie falsch out of the box?
Nur ein Hinweis auf zukünftige Leser hinzufügen: 'asio' ist jetzt Teil von' boost :: asio'. Installieren Sie es nicht isoliert, sondern erhalten Sie es von Boost. –
Die Include-Anweisungen in Asio erfordern, dass Asio im Include-Pfad verfügbar ist. Fügen Sie das 'server_client'-Verzeichnis dem Include-Pfad über' include_directories() 'in Ihre CMakeLists.txt-Datei hinzu, um das Problem zu beheben (z. B. include_directories ($ {CMAKE_CURRENT_SOURCE_DIR})? –
@TannerSansbury Ich schreibe eine Antwort auf diese Frage – dimitris93