2017-06-12 12 views
0

次のgithubプロジェクトhttps://github.com/apache/parquet-cppを使用しようとしています。私はそれを構築することができ、.soファイルはparquet-cpp/build/latestで入手できます。大きなgithubプロジェクトから共有ライブラリをリンクする

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

私は

g++ -Wall test.cpp -L. -lparquet -larrow 
を走った:私は単にライブラリをインポートし、シンプルなハロー世界を別のディレクトリに(構築されていたlibparquetの両方だけでなく、libarrow)の.soファイルをコピーして書きました

しかし、これはarrow/parquetの.hファイルを見つけることができないというエラーを投げます。私は間違って何をしていますか?

答えて

2

ヘッダーファイルのパスをコンパイルの指示に含めるのを忘れてしまった。あなたは、あなたが複数の-I命令で複数のディレクトリを含むことが

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

parquet/api/reader.hを含むディレクトリを見つける必要があるとコンパイルコマンドに含めます。

+0

私はこれを試しました:g ++ -Wall -I/home/saatvik/parquet-cpp/arrow_ep/src/arrow_ep-install/include -I/home/saatvik/parquet-cpp/src/t2.cpp -L。 -lparquet -larrow - しかし、私は間違った道を使っていると思う - 以前のエラーはなくなっていますが、現在は非常に多くのエラーがスローされています。 – tangy

+0

ああ私は-std = C++ 11を追加しなければならなかった。ありがとうございました – tangy

+0

https://github.com/apache/parquet-cpp/tree/master/examplesの例を含めると、次のようなエラーが表示されます。/tmp/ccCqlpoH.o:関数 'main ': テスト.cpp :(。テキスト+ 0xc4d): '' parquet :: TypedColumnWriter WriteBatch(long、short const *、short const * (parquet :: Type :: type)1 ::> WriteBatch(long、short) 'のように定義されています。 const *、short const *、int const *) '...このような未定義参照エラーの長いリスト – tangy

関連する問題