首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cmake找不到LibXml2

cmake找不到LibXml2
EN

Stack Overflow用户
提问于 2017-01-27 15:36:48
回答 1查看 11.4K关注 0票数 3

我正在尝试使用Cmake构建C++项目,它找不到我下载和安装的LibXml2库(我相信)。这是在Windows 10机器上使用的cmake 3.7.1。

以下是cmake配置文件的相关部分:

代码语言:javascript
复制
find_package(LibXml2 REQUIRED)
include_directories(${LIBXML2_INCLUDE_DIR})
set(LIBS ${LIBS} ${LIBXML2_LIBRARIES})

下面是我的环境变量:

代码语言:javascript
复制
LIBXML2_INCLUDE_DIR=C:\Program Files\libxml2\include
LIBXML2_LIBRARIES=C:\Program Files\libxml2\lib

下面是C:\Program \libxml2 2目录的内容:

代码语言:javascript
复制
/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 Files/CMake/share/cmake-3.7/Modules/FindPackageHandleStandardArgs.cmake:138 (Message)上的CMake错误:无法找到LibXml2 (缺失: LIBXML2_LIBRARIES LIBXML2_INCLUDE_DIR)调用堆栈(最近一次调用):C:/Program Files/CMake/share/cmake-3.7/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE) C:/Program Files/CMake/share/cmake-3.7/Modules/FindLibXml2.cmake:58 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)

我和这个人纠缠了一天左右,有人能告诉我我做错了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-27 16:38:57

运行CMake时,在via -D中定义变量,并使用斜杠作为目录分隔符(以及用于转义目录名中的空格的退格)。

代码语言:javascript
复制
cmake .. -DLIBXML2_INCLUDE_DIR:PATH=C:/Program\ Files/libxml2/include -DLIBXML2_LIBRARIES:PATH=C:/Program\ Files/libxml2/lib
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41897622

复制
相关文章

相似问题

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