記錄一下自己使用中的相關問題,方便有同樣問題的同學解決。
- 關於在VS中的各種配置,看這裏,不過需要注意一下,我現在用的mysql版本是5.6的,已經沒有【MySQL Server \lib\opt】這個路徑了,將這一項設置到【MySQL Server \lib】即可
- 如果出現如下錯誤:
1>main.obj : error LNK2019: 無法解析的外部符號 _mysql_server_init@12,該符號在函數 _main 中被引用 1>main.obj : error LNK2019: 無法解析的外部符號 _mysql_init@4,該符號在函數 _main 中被引用 1>main.obj : error LNK2019: 無法解析的外部符號 _mysql_real_connect@32,該符號在函數 _main 中被引用 1>main.obj : error LNK2019: 無法解析的外部符號 _mysql_options@12,該符號在函數 _main 中被引用
因爲按照第一步來的時候,建立的是win32項目,而現在系統、mysql使用的就均是x64的,改成x64即可,操作步驟如下:
.項目->屬性->配置管理器
活動解決方案平臺,下拉選新建,出現一個新的對號框,在鍵入選擇新平臺中選擇X64
學習自這裏 - 之後可以寫一個簡單的c程序測試一下是否成功
#include "winsock.h" #include "iostream" #include "mysql.h" #pragma comment(lib, "ws2_32.lib") #pragma comment(lib, "libmysql.lib") using namespace std; void main() { MYSQL mydata; mysql_library_init(0,NULL,NULL);//初始化MySQL C API庫 mysql_init(&mydata);//初始化mydata的數據結構,mydata是MYSQL對象 mysql_options(&mydata,MYSQL_SET_CHARSET_NAME,"gbk");//連接選項:添加GBK字符集支持 //連接函數 if(mysql_real_connect(&mydata,"localhost","root","1234","demo", 3306, 0, 0) != NULL) cout<<"database connection OK!"<<endl; }
這裏注意一下,mysql_real_connect函數中的幾個參數(&mydata,"localhost","root","1234","demo", 3306, 0, 0),一般就需要改2,3,4,5幾個參數即可,分別爲數據庫位置,用戶名,密碼,待連接的數據庫名稱 - 如果代碼中出現#include "stdafx.h"報錯:ERROR,無法打開源文件...,參見這裏
主要是由於這個頭文件屬於預編譯頭文件,如果在創建項目時候沒有告訴VS相關信息,當然不認識這是什麼東西了。 - #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL
參見這裏 -
c++ fatal error C1083: 無法打開預編譯頭文件:“.\Debug\router.pch”
參見這裏,這個問題也屬於預編譯頭文件問題