2

conanfile.txt //我正在使用本地仓库

[requires]
libxml2/2.9.0@conan/stable

[generators]
cmake

CMakeLists.txt

 cmake_minimum_required(VERSION 3.4)
 project(testlibxml)

 include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
 conan_basic_setup()

 add_executable(test_xml_lib test_xml.cpp)

test_xml.cpp

 #include <libxml/xlink.h>

 int main(){

     return 0;
 }

我希望包括正确解决,但我得到以下错误

error: libxml/xlink.h: No such file or directory. 

如果我在 CmakeLists.txt 中添加以下行,它会起作用

include_directories(${CONAN_INCLUDE_DIRS}/libxml2)
4

1 回答 1

1

我不知道你从哪里得到那个版本的 libxml2 包,因为它不在 conan-center 中:

$ conan search libxml* -r=conan-center
Existing package recipes:

libxml2/2.9.3@bincrafters/stable
libxml2/2.9.8@bincrafters/stable

因此,您使用的可能是其他地方的旧版本、陈旧版本或损坏版本。更改您的 conanfile.txt:

[requires]
libxml2/2.9.8@bincrafters/stable

[generators]
cmake

我已经检查过它是否有效(至少在 Windows 中)

于 2019-01-03T09:01:52.687 回答