Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
柯南,用conanfile.py从cmake建立你的库并链接到它_Cmake_Conan - Fatal编程技术网

柯南,用conanfile.py从cmake建立你的库并链接到它

柯南,用conanfile.py从cmake建立你的库并链接到它,cmake,conan,Cmake,Conan,因此,我正在尝试向我的项目添加一个依赖项,我不想单独构建这个库,用Find***.cmake文件来实现它。相反,我希望使用柯南,但不幸的是,这个库没有上传到柯南软件包存储库。所以我检查了文档,发现可以制作一个conanfile.py配方,下载源代码,构建并存储在缓存中。但问题是,在我从CMakeLists.txt执行此操作后,生成的conanbuildinfo.cmake缺少此库的目标变量,因此我无法将其链接到我的项目。我在文档中寻找实现这一点的方法,但什么也没找到。这里只提供了有关如何构建某些

因此,我正在尝试向我的项目添加一个依赖项,我不想单独构建这个库,用Find***.cmake文件来实现它。相反,我希望使用柯南,但不幸的是,这个库没有上传到柯南软件包存储库。所以我检查了文档,发现可以制作一个conanfile.py配方,下载源代码,构建并存储在缓存中。但问题是,在我从CMakeLists.txt执行此操作后,生成的conanbuildinfo.cmake缺少此库的目标变量,因此我无法将其链接到我的项目。我在文档中寻找实现这一点的方法,但什么也没找到。这里只提供了有关如何构建某些内容或上载到服务器的信息,或者关于为已编译库添加依赖项的信息,而没有关于希望将已编译库作为依赖项的情况的信息

作为解决办法,我尝试了以下方法:

if(NOT EXISTS "${CMAKE_BINARY_DIR}/conan.cmake")
   message(STATUS "Downloading conan.cmake from https://github.com/conan-io/cmake-conan into " ${CMAKE_BINARY_DIR})
   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(CONANFILE conanfile.py)
conan_cmake_run(BASIC_SETUP CONANFILE conanfile.txt)
尽管它不起作用,因为它找不到我指定的依赖项,尽管我在“conan search”输出中复制粘贴了整个库的名称。但这显示了我在这里要做什么。 如果可能的话,也许有人可以给我一个提示,或者我必须先手动将所有包加载到服务器,然后使用conanfile.txt下载它们? 谢谢