C++ 从大型github项目链接共享库

C++ 从大型github项目链接共享库,c++,compiler-errors,parquet,C++,Compiler Errors,Parquet,我正在尝试使用以下github项目。我能够构建它和.so文件,可以在parquet cpp/build/latest中找到。我将.so文件(libparquet和已构建的libarrow)复制到一个单独的目录中,并编写了一个简单的hello world,只需将库导入为: #include <arrow/io/file.h> #include <parquet/api/reader.h> #include <parquet/api/writer.h> 但是,这

我正在尝试使用以下github项目。我能够构建它和.so文件,可以在parquet cpp/build/latest中找到。我将.so文件(libparquet和已构建的libarrow)复制到一个单独的目录中,并编写了一个简单的hello world,只需将库导入为:

#include <arrow/io/file.h>
#include <parquet/api/reader.h>
#include <parquet/api/writer.h>

但是,这会引发一个错误,因为无法找到arrow/parquet的.h文件。我做错了什么?

您忘记在编译指令中包含头文件的路径。您需要找到包含
parquet/api/reader.h
的目录,并将其包含在编译命令中

g++ -Wall -I path_containing_header test.cpp  -L. -lparquet -larrow

您可以使用多条
-I
指令包含多个目录。

您忘记在编译指令中包含头文件的路径。您需要找到包含
parquet/api/reader.h
的目录,并将其包含在编译命令中

g++ -Wall -I path_containing_header test.cpp  -L. -lparquet -larrow

你可以包含多个带有多个
-I
指令的目录。

我尝试过:g++-Wall-I/home/saatvik/parquet-cpp/arrow\u-ep/src/arrow\u-ep-install/include-I/home/saatvik/parquet-cpp/src/t2.cpp-L-lparquet-larrow-但我认为我使用了一些错误的路径-前面的错误已经过去了,但是现在抛出了大量错误。当我包括中的示例时,我得到的错误是:/tmp/ccCqlpoH.o:In function
main:test.cpp:(.text+0xc4d):对
parquet::typedcolumwriter::WriteBatch(long,short const*,short const*,bool const*)的未定义引用test.cpp:(.text+0xcb6):对“parquet::TypedColumnWriter::WriteBatch(长、短常量*、短常量*、int常量*)”的未定义引用。。。同样,一长串未定义的引用错误我尝试过:g++-Wall-I/home/saatvik/parquet-cpp/arrow\u-ep/src/arrow\u-ep-install/include-I/home/saatvik/parquet-cpp/src/t2.cpp-L-lparquet-larrow-但我认为我使用了一些错误的路径-前面的错误已经过去了,但是现在抛出了大量错误。当我包括中的示例时,我得到的错误是:/tmp/ccCqlpoH.o:In function
main:test.cpp:(.text+0xc4d):对
parquet::typedcolumwriter::WriteBatch(long,short const*,short const*,bool const*)的未定义引用test.cpp:(.text+0xcb6):对“parquet::TypedColumnWriter::WriteBatch(长、短常量*、短常量*、int常量*)”的未定义引用。。。再次列出了一长串此类未定义的引用错误