mariadbppはC ++のmariadbライブラリです。CentOS7で最近コンパイルされた[mariadbpp](https://github.com/viaduck/mariadbpp)は常に失敗します。エラーメッセージは次のとおりです。
CMake Error at CMakeLists.txt:17(find_package):
By not providing "FindMariaDBClient.cmake"in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
" MariaDBClient", but CMake did not find one.
Could not find a package configuration file provided by "MariaDBClient"with any of the following names:
MariaDBClientConfig.cmake
mariadbclient-config.cmake
Add the installation prefix of"MariaDBClient" to CMAKE_PREFIX_PATH or set"MariaDBClient_DIR" to a directory containing one of the above files. If
" MariaDBClient" provides a separate development package or SDK, be sure it has been
マリアドブC言語ライブラリ[mariadb-connector-c](https://github.com/mariadb-corporation/mariadb-connector-c)を含むCentOS7システムでyumを使用してマリアドブデータベースをインストールしました
mariadb-connector-cのインストールは非常に簡単です。mariadb-connector-cが配置されているディレクトリで次のコマンドを実行するだけです。
[ root@VM_0_9_centos mariadb-connector-c]#
[ root@VM_0_9_centos mariadb-connector-c]# mkdir build
[ root@VM_0_9_centos mariadb-connector-c]# cd build/[root@VM_0_9_centos build]# ls
[ root@VM_0_9_centos build]# cmake ..-- The C compiler identification is GNU 4.8.5-- Check for working C compiler:/usr/bin/cc
- - Check for working C compiler:/usr/bin/cc -- works
....................[ root@VM_0_9_centos build]# make
[ root@VM_0_9_centos build]# make install
最初に、mariadbppのzipアーカイブをgithubから直接ダウンロードし、それを上記と同じ方法でcmakeでコンパイルすると、常にエラーが報告されました。
最後に、googleを使用してstackoverflowに関するロシアの質問を見つけます[C ++でMariaDBを接続](https://ru.stackoverflow.com/questions/975504/%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B8%D1%82%D1%8C-mariadb-%D0%BD%D0%B0-%D0%A1)
github上[https://github.com/viaduck/mariadbpp](https://github.com/viaduck/mariadbpp)
gitを直接使用してCentOS7でソースコードを複製し、次のようにソースコードをコンパイルします
Initialize Git submodules: git submodule update --init
Install mariadbclient or mysqlclient libraries.
Link against the mariadbclientpp CMake target in your project.
git clone https://github.com/viaduck/mariadbpp.git
cd mariadbpp
git submodule update --init
mkdir build
cd build
cmake ..
make
make install
コンパイルされたデフォルトのmariadbppは静的ライブラリです。動的ライブラリが必要な場合は、CMakeLists.txtファイルを少し変更する必要があります。
# set up target
add_library(mariadbclientpp ${mariadbclientpp_SOURCES} ${mariadbclientpp_PUBLIC_HEADERS} ${mariadbclientpp_PRIVATE _HEADERS})
に変更されました
# set up target
add_library(mariadbclientpp SHARED ${mariadbclientpp_SOURCES} ${mariadbclientpp_PUBLIC_HEADERS} ${mariadbclientpp_PRIVATE _HEADERS})
共有を追加
デフォルトでは、静的ライブラリファイルlibmariadbclientpp.aは/ usr / local / lib /ディレクトリに生成され、動的ライブラリファイルlibmariadbclientpp.soは変更後に/ usr / local / lib /ディレクトリに生成されます。
このようにして、mariadbppライブラリを使用して、mysqlまたはmariadbデータベースを操作するためのC ++コードを記述できます。
参考資料:
1、 mariadbpp
2、[ MariaDBをC ++で接続](https://ru.stackoverflow.com/questions/975504/%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1% 87%D0%B8%D1%82%D1%8C-mariadb-%D0%BD%D0%B0-%D0%A1)
3、[ 「CMakePractice」注3:静的ライブラリ(.a)と動的ライブラリ(.so)の構築、および外部共有ライブラリとヘッダーファイルの使用方法](https://www.cnblogs.com/52php/p/5681755.html)
4、 mariadb-connector-c
Recommended Posts