Я хотел создать gflags и glog в моем проекте. Ниже вы видите код. Я компилирую почти все, но из-за некоторой ошибки совместимости мне предъявляются разные фатальные ошибки, в зависимости от того, какую версию gflags я пытаюсь использовать, в какой версии glog. Как показано на рисунке, я представил с ошибкойСовместимость флагов и glog
./src/glog/stl_logging.h:56:11: fatal error: 'ext/slist' file not found # include <ext/slist>")
Я нашел гордое сообщение
Теперь GLog-х ABI вокруг флагов совместимы с GFlags
на сайте, объявляя glog 0.3.3 https://code.google.com/p/google-glog/
, но я не могу понять, какая версия gflags. (Который я нашел странным, потому что GLog depens на GFlags)
# Install GFlags
ExternalProject_Add(
GFlagsLib
URL https://github.com/gflags/gflags/archive/master.zip
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
)
ExternalProject_Get_Property(GFlagsLib install_dir)
include_directories(${install_dir}/include)
set(GFLAGS_LIBRARIES ${install_dir}/lib/libgflags.${link_library_suffix})
set(GFLAGS_PREFIX ${install_dir})
# Install GLog
ExternalProject_Add(
GLogLib
URL http://google-glog.googlecode.com/files/glog-0.3.3.tar.gz
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR> --with-gflags=${GFLAGS_PREFIX}
)
ExternalProject_Get_Property(GLogLib install_dir)
Включить файл 'ext/slist' не связан с' gflags'. См., Например, этот [bugreport] (https://code.google.com/p/google-glog/issues/detail?id=121). – Tsyvarev
@ Цыварев Это очень приятно, но я догадался, что опубликованную версию можно хотя бы скомпилировать. Я не хочу создавать исправления и беспокоиться об исправлениях. Могу ли я получить две совместимые версии (gflags и glog), которые я мог бы использовать? – katang
Опять же, нет проблемы с совместимостью между 'gflags' и' glog' **. Это проблема совместимости между библиотекой 'glog' и' C++ ': функция' glog' нуждается в функции из 'C++', которая не указана стандартом C++. В соответствии с [этим ответом] (http://stackoverflow.com/a/19758541/3440745) эта функция доступна только в 'libstdC++', которая является gcc-связанной библиотекой. – Tsyvarev