cmake cannot find LibXml2
cmake cannot find LibXml2
我正在尝试使用Cmake构建C++项目,但它找不到我正确下载和安装的LibXml2库(我相信)。这是在带有cmake 3.7.1的Windows 10机器上。
以下是cmake配置文件的相关部分:
find_package(LibXml2 REQUIRED)
include_directories(${LIBXML2_INCLUDE_DIR})
set(LIBS ${LIBS} ${LIBXML2_LIBRARIES})
以下是我的环境变量:
LIBXML2_INCLUDE_DIR=C:Program Fileslibxml2include
LIBXML2_LIBRARIES=C:Program Fileslibxml2lib
以下是C:\Program Files\libxml2目录的内容:
/mnt/c/Program Files/libxml2$ tree .
.
├── bin
│ ├── libxml2.dll
│ ├── xmlcatalog.exe
│ └── xmllint.exe
├── include
│ └── libxml
│ ├── c14n.h
│ ├── catalog.h
│ ├── chvalid.h
│ ├── debugXML.h
│ ├── dict.h
│ ├── DOCBparser.h
│ ├── encoding.h
│ ├── entities.h
│ ├── globals.h
│ ├── hash.h
│ ├── HTMLparser.h
│ ├── HTMLtree.h
│ ├── list.h
│ ├── nanoftp.h
│ ├── nanohttp.h
│ ├── parser.h
│ ├── parserInternals.h
│ ├── pattern.h
│ ├── relaxng.h
│ ├── SAX2.h
│ ├── SAX.h
│ ├── schemasInternals.h
│ ├── schematron.h
│ ├── threads.h
│ ├── tree.h
│ ├── uri.h
│ ├── valid.h
│ ├── xinclude.h
│ ├── xlink.h
│ ├── xmlautomata.h
│ ├── xmlerror.h
│ ├── xmlexports.h
│ ├── xmlIO.h
│ ├── xmlmemory.h
│ ├── xmlmodule.h
│ ├── xmlreader.h
│ ├── xmlregexp.h
│ ├── xmlsave.h
│ ├── xmlschemas.h
│ ├── xmlschemastypes.h
│ ├── xmlstring.h
│ ├── xmlunicode.h
│ ├── xmlversion.h
│ ├── xmlwriter.h
│ ├── xpath.h
│ ├── xpathInternals.h
│ └── xpointer.h
├── lib
│ ├── libxml2_a_dll.lib
│ ├── libxml2_a.lib
│ └── libxml2.lib
└── readme.txt
我收到的cmake输出是:
C:/Program中的CMake错误文件/CMake/share/CMake-3.7/Modules/FindPackageHandleStandardArgs.CMake:138(消息):找不到LibXml2(缺少:LibXml2_LIBRARIESLIBXML2_INCLUDE_DIR)调用堆栈(最近的调用优先):C/Program文件/CMake/share/CMake-3.7/Modules/FindPackageHandleStandardArgs.CMake:378(_FPHSA_FAILURE_MESSAGE)C:/程序文件/CMake/share/CMake-3.7/Modules/FindLibXml2.CMake:58(FIND_PACKAGE_HANDLE_STANDARD_ARGS)
我已经和这个问题斗争了一天左右了,有人能告诉我我做错了什么吗?
运行CMake时,通过-D在中定义变量,并使用斜线作为目录分隔符(并使用退格来转义目录名中的空格。
cmake .. -DLIBXML2_INCLUDE_DIR:PATH=C:/Program Files/libxml2/include -DLIBXML2_LIBRARIES:PATH=C:/Program Files/libxml2/lib
相关文章:
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- OpenMP卸载说'fatal error: could not find accel/nvptx-none/mkoffload'
- 使用.find函数在c++中查找字符和另一个字符之间的大小
- 在 QVector<std::unique_ptr 上使用 std::find<Type>>
- 错误"Could not find Boost"(缺少:上下文标头)
- /usr/bin/ld: cannot find -lc++
- std::find,返回所有找到的值的替代方法,而不仅仅是存在重复的向量的第一个值
- 使用 find 解析文件会给出不同文件的奇怪结果
- 在 ifcondition al中 find() C++ STL 中的 == a.end() 有什么用?
- Cannot find -lglad
- "Cannot find -l<directory>"错误 - CMake
- 使用 libxml2 解析 XML 文件时缺少元素值
- 为什么在向量上使用 std::find() 时会出现错误?
- 为什么映射插入和 map.find() 的单次迭代比插入和 map.find() 的两次单独迭代慢得多
- C++ find() 在存储为变量时返回不同的值
- set::find 查找不存在的元素
- 使用 std::find 时没有匹配的函数调用错误
- 在先前调用 string::find 后添加内存分配和内存集会导致它返回 npos.为什么?
- Windows cannot find MinGW
- cmake cannot find LibXml2