首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CMake /cmake/findasio.cmake处的错误:11-未能定位ASIO依赖项

CMake /cmake/findasio.cmake处的错误:11-未能定位ASIO依赖项
EN

Stack Overflow用户
提问于 2017-05-22 22:44:54
回答 3查看 2.5K关注 0票数 1

我试图在2015年的视觉工作室项目中使用restbed framework

我克隆了restbed repo:https://github.com/Corvusoft/restbed.git

为了创建Visual项目文件,我使用当前的cmake 3.8.1版本

现在,当尝试用cmake配置restbed时,我得到了以下错误:

代码语言:javascript
运行
复制
  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)

有办法解决这个Asio问题吗?

现在,我正在尝试编译Boost库,看看在哪里可以找到这些Asio依赖项,并将它们添加到Cmake中。

用于restbed的CMakeLists.txt文件内容:

代码语言:javascript
运行
复制
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 (配置)输出:

代码语言:javascript
运行
复制
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".
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-05-23 06:30:49

Asio (不要与boost asio混淆)是restbed存储库中的包含,它是一个Git子模块。CMake应该在第一次运行时自动找到Asio的头。您可能在克隆项目后忘记运行git submodule initgit submodule update。在您克隆restbed的目录中运行这些命令,构建就会开始工作。

如果确实需要将restbed指向特定的asio安装,则每个这个文件只需将CMake变量asio_INCLUDE设置为包含asio.hpp的目录。

票数 2
EN

Stack Overflow用户

发布于 2017-05-23 09:03:12

您是否遵守了ReadMe中所述的说明?

代码语言:javascript
运行
复制
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
票数 1
EN

Stack Overflow用户

发布于 2019-11-15 07:05:37

因为没有安装asio库,所以会收到此错误。

https://think-async.com/Asio/下载、构建和安装asio库

代码语言:javascript
运行
复制
./configure --without-boost
make
sudo make install

然后下载休息床并构建

代码语言:javascript
运行
复制
git clone https://github.com/Corvusoft/restbed.git
mkdir restbed/build
cd restbed/build
cmake -D BUILD_SSL=OFF -D BUILD_TESTS=OFF -D BUILD_STATIC=ON -D BUILD_SHARED=OFF ..
make
make install
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44123209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档