Ubuntu14.4 で mongo-cxx-driver-r3.1.1 をコンパイルしようとしています。指示に従って、ソースからmongo-c-driver-1.6.3をインストールしました。
pkg-config --cflags --libs libmongoc-1.0 libbson-1.0 returns
-I/usr/local/include/libmongoc-1.0 -I/usr/local/include/libbson-1.0 -L/usr/local/lib -lmongoc-1.0 -lsasl2 -lssl -lcrypto -lrt -lbson-1.0
私はブーストバージョン1.57を持っています。cmake を使用してhttps://mongodb.github.io/mongo-cxx-driver/mongocxx-v3/installation/に記載されている手順に従って mongo-cxx-driver-r3.1.1 をコンパイルしようとすると。
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..
次のログを取得します。
-- ブースト バージョン: 1.57.0
-- 設定完了
-- 生成完了
-- ビルド ファイルは次の場所に書き込まれています: /user/home/mongo-c-driver-1.6.3/mongo-cxx-driver-r3.1.1/build
次のような他のオプションを試しました。
cmake -DBSONCXX_POLY_USE_MNMLSTC:Bool=OFF -DBSONCXX_POLY_USE_BOOST:Bool=ON -
DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_C_COMPILER="/usr/bin/gcc" -
DCMAKE_CXX_COMPILER="/usr/bin/g++-4.8" -DCMAKE_BUILD_TYPE=Release -
DCMAKE_INSTALL_PREFIX=/usr/local -DLIBMONGOC_DIR=/usr/local/lib -
DLIBBSON_DIR=/usr/local/lib ..
ただし、mongocxx 関連のライブラリまたはヘッダー ファイルは表示されません。以下は、CMakeFiles/CMakeOutput.log の出力です。
システムは次のとおりです。 Linux - 3.13.0-32-generic - x86_64 CXX のコンパイル
コンパイラ識別ソースファイル「CMakeCXXCompilerId.cpp」
成功しました。コンパイラ: /usr/bin/g++-4.8 ビルド フラグ: ID フラグ:
出力は次のとおりです。
0
CXXコンパイラ識別ソース「CMakeCXXCompilerId.cpp」をコンパイルすると「a.out」が生成される
CXX コンパイラ ID は GNU であり、「/home/cvaidyan/mongo-c-driver-1.6.3/mongo-cxx-driver-r3.1.1/build/CMakeFiles/3.2.2/CompilerIdCXX/a.out」にあります。
CXX コンパイラーが動作するかどうかを判断すると、次の出力が渡されます。
ビルド コマンドを実行します:"/usr/bin/make" "cmTryCompileExec1480695504/fast"
ake[1]: ディレクトリに入る/home/cvaidyan/mongo-c-driver-1.6.3/mongo-cxx-driver-r3.1.1/build/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /home/cvaidyan/mongo-c-driver-1.6.3/mongo-cxx-driver-r3.1.1/build/CMakeFiles/CMakeTmp/CMakeFiles 1
Building CXX object CMakeFiles/cmTryCompileExec1480695504.dir/testCXXCompiler.cxx.o
/usr/bin/g++-4.8 -o CMakeFiles/cmTryCompileExec1480695504.dir/testCXXCompiler.cxx.o -c /home/cvaidyan/mongo-c-driver-1.6.3/mongo-cxx-driver-r3.1.1/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
Linking CXX executable cmTryCompileExec1480695504
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1480695504.dir/link.txt --verbose=1
/usr/bin/g++-4.8 CMakeFiles/cmTryCompileExec1480695504.dir/testCXXCompiler.cxx.o -o cmTryCompileExec1480695504 -rdynamic
make[1]: Leaving directory
/home/cvaidyan/mongo-c-driver-1.6.3/mongo-cxx-driver-r3.1.1/build/CMakeFiles/CMakeTmp'
次の出力でコンパイルされた CXX コンパイラ ABI 情報の検出: ディレクトリの変更: /home/cvaidyan/mongo-c-driver-1.6.3/mongo-cxx-driver-r3.1.1/build/CMakeFiles/CMakeTmp
ビルド コマンドを実行:"/usr/bin/make" "cmTryCompileExec4079379117/fast" .............
...................
/home/cvaidyan/mongo-c-driver-1.6.3/mongo-cxx-driver-r3.1.1/build/CMakeFiles/CMakeTmp/src.cxx:2:25: 警告: \u2018int somefunc()\u2019 は非推奨です(/home/cvaidyan/mongo-c-driver-1.6.3/mongo-cxx-driver-r3.1.1/build/CMakeFiles/CMakeTmp/src.cxx:1 で宣言) [-Wdeprecated-declarations] int main() { return somefunc();} ^ /home/cvaidyan/mongo-c-driver-1.6.3/mongo-cxx-driver-r3.1.1/build/CMakeFiles/CMakeTmp/src.cxx:2:34: 警告: \ u2018int somefunc()\u2019 は非推奨です (/home/cvaidyan/mongo-c-driver-1.6.3/mongo-cxx-driver-r3.1.1/build/CMakeFiles/CMakeTmp/src.cxx:1 で宣言されています) [- Wdeprecated-declarations] int main() { return somefunc();} ^ CXX 実行可能ファイルのリンク cmTryCompileExec1892014975 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1892014975.dir/link.txt --verbose=1 /usr/bin/g++-4.8 -DCOMPILER_HAS_DEPRECATED_ATTR CMakeFiles/cmTryCompileExec1892014975.dir/src.cxx.o -o cmTryCompileExec1892014975 -rdynamic make[1]: ディレクトリ `/home/cvaidyan/mongo-c-driver を残します-1.6.3/mongo-cxx-driver-r3.1.1/build/CMakeFiles/CMakeTmp'
ソースファイルは次のとおりです: attribute (( deprecated )) int somefunc() { return 0; } int main() { return somefunc();}
意味がある場合は、cmake の出力全体を投稿できます。ファイルの「エラー」または「失敗」をgrepしましたが、どちらの文字列も見つかりませんでした。
ここで何が欠けているのか、誰かが指摘できれば素晴らしいと思いますか?