程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 64位 Windows 用了 32位編譯平台 編譯不過 MySQL API,mysqlapi

64位 Windows 用了 32位編譯平台 編譯不過 MySQL API,mysqlapi

編輯:MySQL綜合教程

64位 Windows 用了 32位編譯平台 編譯不過 MySQL API,mysqlapi


發生在一周前的事情了,當時想感受下 MySQL C API ,就寫了幾個小例子。雖然是在 Windows(我的工作電腦是 64位 Windows) 上面,但是不想用 VS ,只想用文本軟件寫好代碼後用 cl 編譯,然後用 link 鏈接。就在我寫完最簡單的一個例子後,死活都編譯不過去。代碼如下:

#include <my_global.h>
#include <mysql.h>

int main(int argc, char **argv)
{
  printf("MySQL client version: %s\n", mysql_get_client_info());
  return 0;
}

我以為是我的 cl 命令寫的不正確,雖然檢查了 N 遍並沒有發現錯誤。然後我就用 VS 新建一個工程,這樣編譯命令就不會錯了,我去,還真的編譯不過去,說是無法找到 mysql_get_client_info 的定義。因為我一直都沒有感覺到 Win32 和 Win64 編程的差別,所以也沒有往這方面想。N 遍過後還是查找不出來原因,就只有各種搜索,終於搜索到了原來有人和我碰見同樣的問題。我就是沒有那位童鞋聰明,可以冷靜下來思考分析,找到問題的所在。因為我一開始覺得 Win32 和 Win64 沒有什麼區別,所以一直都在編譯命令上找原因。

正如那位童鞋所指,在64位系統用32位的編譯環境確實出現了問題。那位童鞋由於用的是 VS ,所以 TA 是 右擊選中項目->屬性->配置管理器->新建一個 64位 平台,用這個平台去編譯解決的。我不想用 VS 所以用的是 VS 自帶的環境,如下圖。

 

選擇帶有 x64 的即可。

最後:碰見了因 Win32 和 Win64 的不同之處帶來的問題後,印象加深了不少。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved