Мне нужно установить следующую библиотеку из github
https://github.com/dmlc/dmlc-core
Однако я не знаю, как сделай это и нет никаких инструкций. Как я могу это сделать?
После ввода «make» в терминале, это вывод, который я получил, но я не могу сказать, успешно ли я установил библиотеку или нет.
**make**
g++ -c -O3 -Wall -msse2 -Wno-unknown-pragmas -Iinclude -std=c++0x -fopenmp -fPIC -DDMLC_USE_HDFS=0 -DDMLC_USE_S3=0 -DDMLC_USE_AZURE=0 -o line_split.o src/io/line_split.cc
g++ -c -O3 -Wall -msse2 -Wno-unknown-pragmas -Iinclude -std=c++0x -fopenmp -fPIC -DDMLC_USE_HDFS=0 -DDMLC_USE_S3=0 -DDMLC_USE_AZURE=0 -o recordio_split.o src/io/recordio_split.cc
g++ -c -O3 -Wall -msse2 -Wno-unknown-pragmas -Iinclude -std=c++0x -fopenmp -fPIC -DDMLC_USE_HDFS=0 -DDMLC_USE_S3=0 -DDMLC_USE_AZURE=0 -o input_split_base.o src/io/input_split_base.cc
g++ -c -O3 -Wall -msse2 -Wno-unknown-pragmas -Iinclude -std=c++0x -fopenmp -fPIC -DDMLC_USE_HDFS=0 -DDMLC_USE_S3=0 -DDMLC_USE_AZURE=0 -o io.o src/io.cc
g++ -c -O3 -Wall -msse2 -Wno-unknown-pragmas -Iinclude -std=c++0x -fopenmp -fPIC -DDMLC_USE_HDFS=0 -DDMLC_USE_S3=0 -DDMLC_USE_AZURE=0 -o local_filesys.o src/io/local_filesys.cc
g++ -c -O3 -Wall -msse2 -Wno-unknown-pragmas -Iinclude -std=c++0x -fopenmp -fPIC -DDMLC_USE_HDFS=0 -DDMLC_USE_S3=0 -DDMLC_USE_AZURE=0 -o data.o src/data.cc
In file included from include/dmlc/data.h:16:0,
from src/data.cc:5:
include/dmlc/./registry.h:218:22: warning: ‘dmlc::__make_ParserFactoryReg_uint32_t_libsvm__’ defined but not used [-Wunused-variable]
static EntryType & __make_ ## EntryTypeName ## _ ## Name ## __ = \
^
include/dmlc/data.h:303:3: note: in expansion of macro ‘DMLC_REGISTRY_REGISTER’
DMLC_REGISTRY_REGISTER(::dmlc::ParserFactoryReg<IndexType>, \
^
src/data.cc:136:1: note: in expansion of macro ‘DMLC_REGISTER_DATA_PARSER’
DMLC_REGISTER_DATA_PARSER(uint32_t, libsvm, data::CreateLibSVMParser<uint32_t>)
^
include/dmlc/./registry.h:218:22: warning: ‘dmlc::__make_ParserFactoryReg_uint64_t_libsvm__’ defined but not used [-Wunused-variable]
static EntryType & __make_ ## EntryTypeName ## _ ## Name ## __ = \
^
include/dmlc/data.h:303:3: note: in expansion of macro ‘DMLC_REGISTRY_REGISTER’
DMLC_REGISTRY_REGISTER(::dmlc::ParserFactoryReg<IndexType>, \
^
src/data.cc:137:1: note: in expansion of macro ‘DMLC_REGISTER_DATA_PARSER’
DMLC_REGISTER_DATA_PARSER(uint64_t, libsvm, data::CreateLibSVMParser<uint64_t>)
^
include/dmlc/./registry.h:218:22: warning: ‘dmlc::__make_ParserFactoryReg_uint32_t_csv__’ defined but not used [-Wunused-variable]
static EntryType & __make_ ## EntryTypeName ## _ ## Name ## __ = \
^
include/dmlc/data.h:303:3: note: in expansion of macro ‘DMLC_REGISTRY_REGISTER’
DMLC_REGISTRY_REGISTER(::dmlc::ParserFactoryReg<IndexType>, \
^
src/data.cc:139:1: note: in expansion of macro ‘DMLC_REGISTER_DATA_PARSER’
DMLC_REGISTER_DATA_PARSER(uint32_t, csv, data::CreateCSVParser<uint32_t>);
^
In file included from include/dmlc/./registry.h:14:0,
from include/dmlc/data.h:16,
from src/data.cc:5:
include/dmlc/././parameter.h:254:43: warning: ‘dmlc::data::__make__CSVParserParamParamManager__’ defined but not used [-Wunused-variable]
static ::dmlc::parameter::ParamManager &__make__ ## PType ## ParamManager__ =
^
src/data.cc:93:1: note: in expansion of macro ‘DMLC_REGISTER_PARAMETER’
DMLC_REGISTER_PARAMETER(CSVParserParam);
^
g++ -c -O3 -Wall -msse2 -Wno-unknown-pragmas -Iinclude -std=c++0x -fopenmp -fPIC -DDMLC_USE_HDFS=0 -DDMLC_USE_S3=0 -DDMLC_USE_AZURE=0 -o recordio.o src/recordio.cc
g++ -c -O3 -Wall -msse2 -Wno-unknown-pragmas -Iinclude -std=c++0x -fopenmp -fPIC -DDMLC_USE_HDFS=0 -DDMLC_USE_S3=0 -DDMLC_USE_AZURE=0 -o config.o src/config.cc
ar cr libdmlc.a line_split.o recordio_split.o input_split_base.o io.o local_filesys.o data.o recordio.o config.o
GitHub является службой для хостинга репозиториев Мерзавца. Так, первый шаг для установки проекта в одном из репозиториев должен клонировать его, который создаст локальную копию содержания всего репозитория на компьютере. Пример:
git clone https://github.com/dmlc/dmlc-core
репозитории GitHub обычно хранят исходный код своего проекта. Это означает, что, возможно, должно было бы создаваться/компилироваться перед надлежащей установкой. Нет никакого единственного единого стандарта для проектов, осуществляемых на GitHub, так ответьте на вопрос в заголовке, "Как я могу установить библиотеку от GitHub?" может варьироваться много от проекта до проекта. Владельцы репозиториев свободны использовать свою предпочтительную сборку и потоки установки.
Тем не менее это может ожидаться проекты иметь документацию с инструкциями того, как создать и установить проект сделать жизнь легче для ее пользователей и других разработчиков в файле README.md в главном каталоге или в некотором другом очевидном месте.
Хождение дальше в определенный репозиторий в деталях вопроса dmlc-core
, там, кажется, не явные инструкции по зданию в README.md, но главный каталог действительно имеет Make-файл. Make-файлы содержат директивы для утилиты Make о том, как разработать проект, который сам обычно используется для того, чтобы разработать проекты C/C++ (который этот, кажется). В общем выполнении make
из каталога, где Make-файл расположен.
Во время процесса сборки, Вы могли бы видеть предупреждения компилятора и ошибки. Ошибки обычно ведут для создания отказа. Разрешение их, вероятно, потребовало бы ознакомления себя с кодом и фиксацией их. Предупреждения часто являются индикаторами плохих методов, используемых в коде, который мог привести к ошибкам. Хорошие разработчики будут обычно документировать причины, почему они делают подобные вещи, когда они имеют к. Если Вы не можете найти причину, можно или доверять коду и взять на себя ответственность за выбор или отказаться от поставки.
От содержания Make-файла я заключаю, что его основная цель сборки libdmlc.a
. Технически, не имеет значения, куда Вы помещаете его, таким образом, можно полагать, что установка завершена, когда сборка успешна, думал рекомендуемое местоположение, куда поместить его в Ubuntu, кажется, находится под /usr/local/
.
Теперь, когда Вы имеете файл в наличии, можно полагать, что он установил и готовый к использованию.
Пример, Ubuntu 16.04 - 64:
, Когда Вы работаете make
, это успешно, когда библиотека libdmlc.a
создается в главном каталоге.
Cmake: mkdir build
и cd build/ && cmake ../ && make
в †’ библиотека libdmlccore.a
создается в папке сборки. Тот же размер (1.3 МБ) как libdmlc.a
, так вероятно, никакое различие.
Read man git
, чтобы изучить, как клонироваться (получают копию), репозиторий, затем cd
к каталогу с файлами.
Read README.md
файл, и потому что существует Makefile
, я был бы, после чтения Makefile
, тип make
, как рекомендуется README.md
.