qt creator — Невозможно включить файлы LibXML2 в проект CMake C ++ (используя IDE QtCreator)

Я работаю над проектом C ++ на Cmake в QtCreator. Я пытаюсь использовать mlpack в моем проекте, но как только я включаю строку #include <mlpack/core.hpp> к моему единственному исходному файлу я получаю сообщение об ошибке, касающееся некоторых файлов libxml, которые включены в mlpack / core.hpp:

    In file included from /usr/local/include/mlpack/core/util/save_restore_utility.hpp:26:0,
from /usr/local/include/mlpack/core.hpp:171,
from /home/revinci/code/workspaces/qt_ws/Semantic_Perception/src/features_slic.cpp:18:
/usr/include/libxml2/libxml/parser.h:15:31: fatal error: libxml/xmlversion.h: No such file or directory
#include <libxml/xmlversion.h>

Теперь я вошел в /usr/include/libxml2/libxml/ и нашел parser.h с линией #include <libxml/xmlversion.h> в этом.
Итак, я увидел, что xmlversion.h а также parser.h находятся в той же папке и попытались взломать: я изменил #include <libxml/xmlversion.h> в parser.h в #include "xmlversion.h" только чтобы получить следующую ошибку:

    In file included from /usr/include/libxml2/libxml/parser.h:15:0,
from /usr/local/include/mlpack/core/util/save_restore_utility.hpp:26,
from /usr/local/include/mlpack/core.hpp:171,
from /home/revinci/code/workspaces/qt_ws/Semantic_Perception/src/features_slic.cpp:18:
/usr/include/libxml2/libxml/xmlversion.h:13:31: fatal error: libxml/xmlexports.h: No such file or directory
#include <libxml/xmlexports.h>

Который в основном говорит мне, что не может найти xmlexports.h (включено xmlversion.h). Важнее, xmlexports.h находится в том же каталоге, что и xmlversion.h а также parser.h!

Я пробовал упомянутое решение Вот и установлен libxml2-dev (снова) и libxslt1-dev, но моя проблема не была решена.

Я думаю, что это может быть связано с правильным указанием моих путей включения. Я пытался добавить /usr/include/libxml2 к различным переменным окружения пути (PATH, INCLUDE_PATH а также CPATH), которые присутствуют в моей среде сборки в QtCreator, но безрезультатно. мой CMakeLists.txt выглядит так:

    project(Semantic_Perception)
cmake_minimum_required(VERSION 2.8)#Vigra Headers
include_directories(
include
)
file(GLOB_RECURSE VigraImpex include/impex/)
add_library(VigraImpex ${VigraImpex})

#LibXml2 Headers
find_package(LibXml2 REQUIRED)

#Armadillo Headedrs
find_package(Armadillo REQUIRED)
include_directories(${ARMADILLO_INCLUDE_DIRS})

#Boost Headers
find_package(Boost 1.54.0 REQUIRED)add_executable(features_slic src/features_slic.cpp)
target_link_libraries(features_slic
VigraImpex
${ARMADILLO_LIBRARIES}
)

Кстати: LibXml2, Armadillo и Boost являются зависимостями библиотеки, которую я пытаюсь использовать — mlpack. Команда find_pakcage(mlpack) не будет работать, потому что нет Findmlpack.cmake файл в моей системе в любом месте, и я не мог найти его в Интернете.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]