我試圖在Cygwin下構建MySQL ++。在Cygwin下構建MySQL ++無法找到MySQL客戶端庫
之前,你可以構建MySQL ++,您需要安裝
的libmysqlclient-devel包與Cygwin的setup.exe文件。
所以,我安裝了這個包和它所需的包。創建的唯一庫(因爲你可以看到in this link):
2016-11-10 08:59 702424 usr/lib/libmysqlclient.dll.a
2016-11-10 09:16 0 usr/lib/libmysqlclient_r.dll.a -> libmysqlclient.dll.a
然後我跑./configure
生成一個Makefile
。
但是,它失敗了,因爲它找不到MySQL客戶端庫。該configure
腳本說:
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'
挖入configure
文件,我可以看到:
do
if test -d "$m" && \
(test -f "$m/lib$MYSQL_C_LIB_NAME.so" || \
test -f "$m/lib$MYSQL_C_LIB_NAME.a")
then
MYSQL_C_LIB_DIR=$m
break
fi
done
因此,它看起來對共享庫或靜態庫,但libmysqlclient-devel
沒有安裝這類原因,只有一個導入庫(dll.a)。
儘管如此,MySQL客戶端庫仍然有效。我可以運行一個簡單的C程序來連接和檢索我的MySQL服務器上的數據,標記爲:-I/usr/include/mysql -L/usr/lib -lmysqlclient
,它可以很好地工作。
那麼,有什麼提示?你知道如何在沒有從MySQL源代碼構建MySQL客戶端庫的情況下構建MySQL ++嗎?
我終於下載了MySQL源代碼並構建它來生成'.dll'庫。然後,我可以毫無問題地構建MySQL ++。不過,我會嘗試下載你的新版本。我會告訴你。謝謝。 – Albert
它的工作,非常感謝。但是,我仍然遇到了當我運行可執行文件時無法找到'cygmysqlpp-3.dll'的問題。它被編譯爲:'g ++ -o testConnection testConnection.cpp -I/usr/local/include/mysql ++ -L/usr/local/lib -lmysqlpp $(/ usr/bin/mysql_config --cflags --libs)'。使其工作的唯一方法是將'.dll'複製到可執行的相同路徑中。我猜這是在cygwin下運行的正常行爲,不是嗎? – Albert
這就是[只是Windows](https://msdn.microsoft.com/en-us/library/7d83bc18.aspx)。 –