mysql++ 中遇到的安裝問題 及linux下C++新增共享庫
linux下安裝mysql++
官方網站下載mysql++
tar 命令解壓
./configure --prefix=/local //安裝路徑自定義
問題:
checking for MySQL library directory... configure: error: Didn't find mysqlclient library in '/usr/lib64 /usr/lib /usr/lib64/mysql /usr/lib/mysql /usr/local/lib64 /usr/local/lib /usr/local/lib/mysql /usr/local/mysql/lib /usr/local/mysql/lib/mysql /usr/mysql/lib/mysql
/opt/mysql/lib /opt/mysql/lib/mysql /sw/lib /sw/lib/mysql'
解決方法:sudo apt-get install libmysqlclient
然後locate libmysqlclient去查詢你的系統中的libmysqlclient.so library在哪個檔案下(我的/usr/lib/x86_64-linux-gnu)
注意:(使用locate之前先sudo updatedb手動更新資料庫下,因為locate是經過資料庫來查詢的,而資料庫預設自動更新是一天一次。這樣可能導致你locate不到今天剛剛生成的檔案)
重新使用命令:./configure --prefix=/local --with-mysql-lib=/usr/lib/x86_64-linux-gnu
問題消除 ,
make
sudo make install
測試連線mysql demo
#include <mysql++.h> #include <iostream> using namespace std; int main(int argc, char *argv[]) { // Get database access parameters from command line const char* db = 0, *server = 0, *user = 0, *password = ""; db = "healthcareweb"; server = "11.0.17.208"; user = "root"; password = "123456"; // Connect to the sample database. mysqlpp::Connection conn(false); if (conn.connect(db, server, user, password)) { cout << "success. " << endl; } else { cout << "false. " << endl; } return 0; }
g++ -o main main.cpp -I /home/onejian/local/include/mysql++ -I /usr/include/mysql -L /home/onejian/local/lib -lmysqlpp
(/home/onejian/local/即安裝的路徑,另外mysql_version.h在/usr/include/mysql中所以需要新增,-L 包含庫的路徑)
遇到問題:
error while loading shared libraries: libmysqlpp.so.3: cannot open shared object file: No such file or directory
原因:
ldconfig命令的用途, 主要是在預設搜尋目錄(/lib和/usr/lib)以及動態庫配置檔案/etc/ld.so.conf內所列的目錄下, 搜尋出可共享的動態連結庫(格式如lib*.so*), 進而創建出動態裝入程式(ld.so)所需的連線和快取檔案. 快取檔案預設為/etc/ld.so.cache, 此檔案儲存已排好序的動態連結庫名字列表.
2) 如果共享庫檔案安裝到了/usr/local/lib(很多開源的共享庫都會安裝到該目錄下)或其它"非/lib或/usr/lib"目錄下, 那麼在執行ldconfig命令前, 還要把新共享庫目錄加入到共享庫配置檔案/etc/ld.so.conf中, 如下:
# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
# echo "/usr/local/lib" >> /etc/ld.so.conf
# ldconfig
3) 如果共享庫檔案安裝到了其它"非/lib或/usr/lib" 目錄下, 但是又不想在/etc/ld.so.conf中加路徑(或者是沒有許可權加路徑). 那可以export一個全域性變數LD_LIBRARY_PATH, 然後執行程式的時候就會去這個目錄中找共享庫.
LD_LIBRARY_PATH的意思是告訴loader在哪些目錄中可以找到共享庫. 可以設定多個搜尋目錄, 這些目錄之間用冒號分隔開. 比如安裝了一個mysql到/usr/local/mysql目錄下, 其中有一大堆庫檔案在/usr/local/mysql/lib下面, 則可以在.bashrc或.bash_profile或shell里加入以下語句即可:
export LD_LIBRARY_PATH=/usr/local/mysql/lib:$LD_LIBRARY_PATH
一般來講這只是一種臨時的解決方案, 在沒有許可權或臨時需要的時候使用.
採用第二種解決方法。解決了問題,完成安裝
相關推薦
mysql++ 中遇到的安裝問題 及linux下C++新增共享庫
linux下安裝mysql++ 官方網站下載mysql++ tar 命令解壓 ./configure --prefix=/local //安裝路徑自定義 問題: checking for MySQL library directory... configure: err
Spark本地安裝及Linux下偽分散式搭建
title: Spark本地安裝及Linux下偽分散式搭建 date: 2018-12-01 12:34:35 tags: Spark categories: 大資料 toc: true 個人github部落格:Josonlee’s Blog 文章目錄
SSL握手通訊詳解及linux下c/c++ SSL Socket(另附SSL雙向認證客戶端程式碼)
SSL(Secure Sockets Layer 安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網路通訊提供安全及資料完整性的一種安全協議。TLS與SSL在傳輸層對網路連線進行加密。 安全證書既包含了用於加密資料的金鑰
SSL握手通信詳解及linux下c/c++ SSL Socket代碼舉例
perf 加密技術 rec 套件 amp lin codes errno 機構 SSL握手通信詳解及linux下c/c++ SSL Socket代碼舉例 摘自:http://www.169it.com/article/3215130236.html 分
Linux下C程式動態庫的生成和呼叫
Linux下C程式動態庫的生成和呼叫 文章目錄 Linux下C程式動態庫的生成和呼叫 1 動態庫的打包和呼叫 2 靜態庫打包和呼叫 3 常用命令 4 gcc 和 g++ 區別 5 編譯和連結的理解
linux下 C++的標準庫標頭檔案所在目錄
其中以.h為字尾的標頭檔案在這個目錄下的backward資料夾裡 查詢檔案的相應命令:比如要找iostream,可以使用locate命令,如locate iostream 也可以使用find命令,find命令比locate複雜一點 關於 Linux下或
Linux中tftp安裝及使用筆記
模式 clas art netstat 參數 log 狀態信息 use 幫助 tftp命令用在本機和tftp服務器之間使用TFTP協議傳輸文件。 TFTP是用來下載遠程文件的最簡單網絡協議,它其於UDP協議而實現。 linux服務器端tftp-server的配置 1、安裝t
Linux下 C++ 在類中的多線程技
sleep 是我 調用 目標 阻塞 com turn thread log 有很多時候,我們希望可以在C++類裏面對那些比較耗時的函數使用多線程技術,但是,C++類的成員函數的函數指針不能直接做為參數傳到pthread_create,主要因為是C++成員函數指針帶有類命名空
Linux 下c語言連線與操作MYSQL
1.安裝mysql 2.安裝mysql.h函式庫 sudo apt-get install libmysqlclient-dev 3. mysql_real_connect() 連線一個mysql伺服器 語法如下 MYSQL *mysql_real_connect
Nginx介紹及linux下的安裝
是什麼? 高效能HTTP伺服器/反向代理伺服器。 用途? HTTP伺服器,做靜態資源(靜態網頁,圖片等)伺服器。 虛擬主機,實現一臺伺服器虛擬多個小網站。 反向代理、負載均衡,多臺伺服器叢集需要Nginx做反向代理,使伺服器之間負載均衡。 安裝? 1.安裝環境及依賴包
informix資料庫在linux中的安裝以及用java/c/c++訪問
一、安裝前準備 安裝JDK(略) 到IBM官網上下載informix軟體:iif.12.10.FC9DE.linux-x86_64.tar放在某個大家都可以訪問的目錄比如:/mypkg,並解壓到該目錄下。 我也放到了百度雲和天翼雲上供下載。 建立informix使
linux 下 c++ 連線mysql
系統: ubuntu14 資料庫:mysql5.5 步驟: g++/ mysql 資料庫安裝略 1. 首先安裝mysql對 C/C++的API, 可以通過下面命令安裝: sudo apt-get install mysql-server libmysql++-dev 如
linux下C語言程式設計操作MySQL資料庫
原文地址:http://www.2cto.com/database/201506/407827.html 在實際應用中,我們不可能在命令列登入進資料庫進行資料的查詢、插入等操作,使用者一般是使用一個介面良好的應用程式軟體來對資料進行管理。為了方便應用程式的開發,MySQ
linux下c++學習筆記——c++編譯器安裝(CLion)
c++編譯器安裝 參考部落格 https://blog.csdn.net/weixin_36926794/article/details/80291034 啟用 https://blog.csdn.net/krais_wk/article/details/80970355 wget
Linux下C語言執行MySQL語句
執行SQL語句的增、刪、改、查的主要API函式為: int mysql_query(MYSQL *connection, const char *query); 函式接收引數連線控制代碼和字串形式的有效SQL語句(沒有結束的分號,這與mysql工具不同)。如果
linux 下 c++ 標準庫的安裝
1 install sudo apt-get install libstdc++6 libstdc++6-4.2-doc sudo apt-get install stl-manual 2. using man c++intro man std
linux下c++連線mysql資料庫
在Linux下,我們可以通過MySQL提供的C API連線資料庫。 使用C API連線mysql資料庫除了要安裝mysql-client和mysql-server,還需要安裝mysql的開發包mysql-devel。 我的系統是fedora,安裝命令如下:s
Java 在Window及Linux下備份MySQL資料庫
轉自:http://www.linuxidc.com/Linux/2010-12/30652.htm 首先是Windows系統下: 給大家提個醒: 有人說用:"mysqldump --uroot --p123456 --opt"。但是我沒有成功,最後使用
ElasticSearch概述及Linux下的單機ElasticSearch安裝
這兩天在專案中要涉及到ElasticSearch的使用,就上網去搜索了一些這方面的資料,發現elasticSearch的安裝分為單機和叢集兩種方式。在本例中,我們重點介紹單機下的ElasticSearch的安裝,親測可用,記錄下來與各位同仁分享。 一、Elas
初學Linux(二)---Linux下C語言中的陣列與指標
初學Linux(二)—Linux下C語言中的陣列與指標 在經過階段一的linux學習之後,我來到了階段二的Linux下的C語言程式設計,雖然學到目前linux下的C語言似乎跟之前學的C語言所差無幾,但是按照老師的話來說,C語言指標這塊尤為重要,而我在這一方面的