Cmakelists 与柯南
Posted
技术标签:
【中文标题】Cmakelists 与柯南【英文标题】:Cmakelists with conan 【发布时间】:2018-11-22 10:11:41 【问题描述】:我在用柯南创建 Cmakelists 的过程中遇到了一些问题。 我只是按照官方的例子,但它对我不起作用......
这是我的 Cmakefiles.txt :
cmake_minimum_required(VERSION 2.8)
project(UDP_Server)
set(CMAKE_BUILD_TYPE Release)
if(NOT EXISTS "$CMAKE_BINARY_DIR/conan.cmake")
message(STATUS "Downloading conan.cmake from
https://github.com/conan-io/cmake-conan")
file(DOWNLOAD "https://raw.githubusercontent.com/conan-io/cmake-
conan/master/conan.cmake"
"$CMAKE_BINARY_DIR/conan.cmake")
endif()
include($CMAKE_BINARY_DIR/conan.cmake)
conan_cmake_run(REQUIRES Hello/0.1@memsharded/testing
BASIC_SETUP
BUILD missing)
add_executable(server server/server.cpp)
add_executable(client client/client.cpp)
target_link_libraries(main $CONAN_LIBS)
我的错误是:
ERROR: Failed requirement 'Hello/0.1@memsharded/testing' from 'PROJECT'
ERROR: Unable to find 'Hello/0.1@memsharded/testing' in remotes
CMake Error at conan.cmake:368 (message):
Conan install failed='1'
Call Stack (most recent call first):
conan.cmake:448 (conan_cmake_install)
CMakeLists.txt:14 (conan_cmake_run)
-- Configuring incomplete, errors occurred!
【问题讨论】:
这是柯南 (docs.conan.io/en/latest/howtos/cmake_launch.html) 的例子,所以你走在正确的道路上。错误信息是什么? 你在命令行中指定了吗? 我遇到了两个问题:首先是柯南示例不适用于我,错误消息是:柯南安装失败='1'(添加了 set(CMAKE_BUILD_TYPE Release))和第二个问题我不知道如何在同一个文件上添加 boost 依赖项 请就您启动的命令的柯南错误和完整的错误消息提出一个问题。然后对于 Boost,做同样的事情(但首先在网上查看,一旦你使用 find_package(Boost),CMake 中有很多 Boost 资源...... 我在 google 上找到了很多例子,但没有什么可以混合 conan 和 boost .... 我不知道如何安排 Cmakelists 以包含两者 【参考方案1】:Hello/0.1@memsharded/testing 包只在 Memsharded 的remote中可用
因此,您需要在构建项目之前添加遥控器:
conan remote add memsharded https://api.bintray.com/conan/memsharded/conan-common
否则,将无法找到该包。
另一种选择是下载项目并构建它:
git clone https://github.com/memsharded/conan-hello.git
cd conan-hello
conan create . memsharded/testing
【讨论】:
以上是关于Cmakelists 与柯南的主要内容,如果未能解决你的问题,请参考以下文章