2017-05-22 2 views
0

Ich versuche, die in einem Visual Studio 2015-Projekt zu verwenden.CMake-Fehler bei cmake/modules/Findasio.cmake: 11 - Fehler beim Auffinden der ASIO-Abhängigkeit

ich die restbed Repo geklont: https://github.com/Corvusoft/restbed.git

Und eine Visual Studio-Projektdatei erstellen Ich bin mit aktueller cmake 3.8.1 Version

Wenn nun restbed mit cmake zu konfigurieren versuchen, habe ich diesen Fehler:

Copyright 2013-2017, Corvusoft Ltd, All Rights Reserved. 
CMake Error at cmake/modules/Findasio.cmake:11 (message): 
    Failed to locate ASIO dependency. 
Call Stack (most recent call first): 
    CMakeLists.txt:31 (find_package) 

Gibt es eine Möglichkeit, dieses Asio-Problem zu lösen?

Im Moment versuche ich Boost library zu kompilieren, um zu sehen, wo diese Asio Abhängigkeiten zu Cmake finden und hinzufügen. Hier

ist der Gehalt an CMakeLists.txt Datei für restbed:

line 
26 # 
27 # Dependencies 
28 # 
29 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake/modules") 
30 
31 find_package(asio REQUIRED) 
32 include_directories(SYSTEM ${asio_INCLUDE}) 

CMake (configure) Ausgabe:

The CXX compiler identification is MSVC 19.0.24215.1 
Check for working CXX compiler: F:/Program Files (x86)/Microsoft Visual 
Studio 14.0/VC/bin/x86_amd64/cl.exe 
Check for working CXX compiler: F:/Program Files (x86)/Microsoft Visual 
Studio 14.0/VC/bin/x86_amd64/cl.exe -- works 
Detecting CXX compiler ABI info 
Detecting CXX compiler ABI info - done 
Detecting CXX compile features 
Detecting CXX compile features - done 
    Copyright 2013-2017, Corvusoft Ltd, All Rights Reserved. 
CMake Error at cmake/modules/Findasio.cmake:11 (message): 
    Failed to locate ASIO dependency. 
Call Stack (most recent call first): 
    CMakeLists.txt:31 (find_package) 

Configuring incomplete, errors occurred! 
See also "C:/Users/xxx/Documents/Visual Studio 2015/Projects/thread_Native_Handle/resbed_windows/CMakeFiles/CMakeOutput.log". 

Antwort

2

Asio (nicht mit Auftrieb zu verwechseln Asio) ist included im Restbed-Repository als Git Submodul. CMake sollte die Header von Asio beim ersten Start automatisch finden. Wahrscheinlich haben Sie nach dem Klonen des Projekts vergessen, git submodule init und git submodule update auszuführen. Führen Sie diese Befehle in dem Verzeichnis aus, in das Sie Restbed geklont haben, und der Build sollte starten.

Wenn Sie zu einem bestimmten Asio einbauort restbed haben müssen, pro this file, stellen nur die CMake Variable asio_INCLUDE in das Verzeichnis asio.hpp enthält.

+0

Vielen Dank! Nützliche Informationen, wenn Sie nicht aus der C-Welt kommen –

0

Haben Sie die Anweisungen in der ReadMe-Datei befolgt?

git clone --recursive https://github.com/corvusoft/restbed.git 
mkdir restbed/build 
cd restbed/build 
cmake [-DBUILD_TESTS=YES] [-DBUILD_EXAMPLES=YES] [-DBUILD_SSL=NO] [-DBUILD_SHARED=YES] [-DCMAKE_INSTALL_PREFIX=/output-directory] .. 
make [-j CPU_CORES+1] install 
make test 
+0

Ich benutze cmake 3.8.1 unter Windows, ** @ MultipleMonomials Antwort löste das Problem für ASIO **, jetzt versuche ich, dieses Problem zu lösen: 'CMake Error at cmake/modules/Findopenssl.cmake: 19 (Nachricht): Die OpenSSL-Abhängigkeit konnte nicht gefunden werden. siehe Restbett/Abhängigkeit/openssl; ./config freigegeben; make all Call Stack (letzter Aufruf zuerst): CMakeLists.txt: 38 (find_package) ' – HDJEMAI

+0

git clone --recursive führt ein Submodul init aus und aktualisiert es in einem Befehl. Bitte stellen Sie sicher, dass Sie diese Aktion durchgeführt haben. – Corvusoft

Verwandte Themen