簡體   English   中英

cmake找不到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 Files\libxml2\include
LIBXML2_LIBRARIES=C:\Program Files\libxml2\lib

以下是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語言中的CMake錯誤:/ Program Files / CMake / share / cmake-3.7 / Modules / FindPackageHandleStandardArgs.cmake:138(消息):找不到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)

我已經和這個人吵架了一天左右,有人能給我一個提示我做錯了嗎?

運行CMake時,在via -D中定義變量並使用斜杠作為目錄定界符(和退格符以轉義目錄名稱中的空格)。

cmake .. -DLIBXML2_INCLUDE_DIR:PATH=C:/Program\ Files/libxml2/include -DLIBXML2_LIBRARIES:PATH=C:/Program\ Files/libxml2/lib

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM