centOS7でcmakeを使用してmariadbppをコンパイル中にエラーが発生しました

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

centOS7でcmakeを使用してmariadbppをコンパイル中にエラーが発生しました
CentOSには、Pythonが削除された&& YUMエラー修復が付属しています
CentOS7.4でHadoop-2.7.6をコンパイルします
CentOS7の下にmysql5.7をインストールします
Centos7の下にActiveMQをインストールします
CentOS7の下にPostgreSQL12をインストールします
VMwareにCentOSをインストールする
CentOS8.0はdockerエラーをインストールします
CentOSの下にJDK + Tomcat8をデプロイします
Centos7にmysqlをインストールします
centos6.8でランプを構成する
Centos7の下にJenkinsをインストールします
Centos7でのRedis3のインストール
CentOS6.5の下にmysql5.1をインストールします