如何从 github 安装库?

如何从 github 安装库?

我需要从 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

答案1

GitHub 是托管 Git 存储库的服务。因此,在其中一个存储库中安装项目的第一步是克隆它,这将在您的计算机上创建所有存储库内容的本地副本。示例:

git clone https://github.com/dmlc/dmlc-core

GitHub 存储库通常存储其项目的源代码。这意味着在正确安装之前可能需要对其进行构建/编译。GitHub 上没有针对项目实施的单一通用标准,因此对标题“如何从 GitHub 安装库?”中问题的回答可能因项目而异。存储库所有者可以自由使用他们喜欢的构建和安装流程。

也就是说,可以预期项目会在顶级目录或其他明显位置的 README.md 文件中提供文档,其中包含有关如何构建和安装项目的说明,以便用户和其他开发人员的工作更轻松。

转到问题详细信息中的特定存储库dmlc-core,README.md 中似乎没有任何明确的构建说明,但顶级目录确实有一个 Makefile。Makefile 包含有关如何构建项目的 Make 实用程序的指令,该项目本身通常用于构建 C/C++ 项目(这个似乎是)。通常make从 Makefile 所在的目录执行。

在构建过程中,您可能会看到编译器警告和错误。错误通常会导致构建失败。解决这些问题可能需要熟悉代码并修复它们。警告通常表示代码中采用了可能导致错误的不良做法。优秀的开发人员通常会在必要时记录他们这样做的原因。如果您找不到原因,您可以信任代码并为您的选择负责,或者放弃。

从 Makefile 的内容中,我了解到它的主要构建目标是libdmlc.a。从技术上讲,将它放在哪里并不重要,因此当构建成功时,您可以认为安装已完成,尽管在 Ubuntu 上建议将它放在 下/usr/local/

现在您已经有了该文件,您可以认为它已经安装并可供使用。

答案2

阅读man git以了解如何克隆(获取)存储库,然后cd获取包含文件的目录。

阅读README.md文件,并且因为有一个,所以Makefile在阅读之后,我会按照 的建议Makefile输入。makeREADME.md

答案3

例如,Ubuntu 16.04 - 64:

当您运行时,如果在顶级目录中创建了make库,则表示成功。libdmlc.a

Cmake:mkdir build和→在构建文件夹中创建了cd build/ && cmake ../ && make库。大小与 相同(1.3MB) ,因此可能没有区别。libdmlccore.alibdmlc.a

相关内容