VC連接mysql數據庫錯誤:libmysql.lib : fatal error LNK1113: invalid machine 解決方法

VC連接MySQL的配置過程在上一篇博文中,不過當你設置好,以為萬事大吉的時候,運行卻出現這個錯誤:libmysql.lib : fatal error LNK1113: invalid machine type。?無效的機器類型,真的是很讓人捉急。

?

發生這個錯誤的原因是,我在win8.1上安裝的是64bit的mysql服務器,而我編譯32位的VC程序,連接的是64位的libmysql.lib庫,所以會產生 “無效的機器類型(invalid machine type)”的錯誤提示。

對于這個“error LNK1113”錯誤的解決方案是:

?? 下載32位的mysql的zip包,大概100多M的那個。解壓出來,把lib目錄按照,第4步定位lib。這樣的話,我們的32位程序編譯的時候,鏈接的就是32位的庫,就不會出現上面的鏈接錯誤了。也不必換到xp系統上去操作了。

環境說明:

操作系統:windows 8.1

開發工具:VC++6.0

開發的exe:32位程序

數據庫服務器:64位的mysql-5.5

引用的數據庫lib:32位的mysql-5.7.10-win32.zip(320M)的lib文件夾。

?

步驟如下:

1.??到官網www.mysql.com下載MySQL安裝包:

? ?mysql-5.7.10-win32.zip ?地址:http://dev.mysql.com/downloads/mysql/

? ?當然你也可以下載安裝mysql*.msi。

2.??安裝mysql,在安裝過程中如(如果是.msi安裝),一定要選上C Include Files / Lib Files,這樣在安裝后才能在mysql的安裝文件夾中找到include和lib文件夾,這些文件夾將在下面的操作用會用到。

3.? 把D:\Mysql32\mysql-5.7.10-win32\lib下的libmysql.dll復制并拷貝到C:\WINDOWS\system32下。(這一步我沒有做,一樣可以編譯通過,我是在WIN8.1下驗證的,不知在XP或是win-NT中是否需要這一步)。

4. 這也是最關鍵的一步!打開:工具->選項菜單,找到“目錄”標簽,可以看到有一個:“顯示目錄為”的下拉框,選擇Library files選項,在其中加入: 【32位的mysql zip解壓文件夾】\MySQLServer 5.7\lib\,如圖:

? ?

?

? ? 可以看到我這個是32位的lib

5.如果你把libmysql.lib,libmysql.dll復制到程序目錄下,別忘了用你下的32位的文件替換原來的。

6.編譯運行,成功。

? ?只需要用32位的lib替換64位的lib,這樣的話,我們的32位程序編譯的時候,鏈接的就是32位的庫,就不會出現上面的鏈接錯誤了。

? 解決方法還是很簡單的,就是下載zip包太慢啦。。。。

// test.cpp : Defines the entry point for the console application.
//
#include <stdio.h>
#include <windows.h>
#include "StdAfx.h"#include <winsock.h>  
#include <iostream>  
#include <string>  
#include <mysql.h>  
using namespace std;  
//#pragma comment (lib,"ws2_32.lib")  
//#pragma comment(lib,"libmysql.lib")  
//不需要單步調試的就注釋掉  
//#define STEPBYSTEP  void pause(){  #ifdef STEPBYSTEP  system("pause");  #endif  
}  
void writeToFile(const char *s)  
{  FILE *fp=fopen("info.txt","rw");  fprintf(fp,s);  fclose(fp);  }  /* int main(){MYSQL mysql;mysql_init(&mysql); //初始化mysql結構if(!mysql_real_connect(&mysql,"localhost","myuser","123456","student_db",3306,NULL,0))printf("\n連接數據庫時發生錯誤!\n");elseprintf("\n連接數據庫成功!\n");mysql_close(&mysql); //釋放數據庫return 0;
}*/
int main(int argc, char* argv[]){  cout<<"start...."<<endl;  pause();  MYSQL mysql;  if(0==mysql_library_init(0,NULL,NULL))  {  cout<<"mysql_library_init succeed"<<endl;  }else{  cout<<"mysql_library_init failed"<<endl;  return -1;  }  pause();  if(NULL!=mysql_init(&mysql))  {  cout<<"mysql_init succeed"<<endl;  }else{  cout<<"mysql_init failed"<<endl;  return -1;  }  pause();  if(0==mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"gb2312"))  {  cout<<"mysql_option succeed"<<endl;  }else{  cout<<"mysql_option failed"<<endl;  return -1;  }  pause();  if(NULL!=mysql_real_connect(&mysql,"localhost","myuser","123456","student_db",3306,NULL,0))  {  cout<<"mysql_real_connect succeed"<<endl;  }else{  cout<<"mysql_real_connect failed"<<endl;  return -1;  }  pause();  string sql;  sql="select * from sgroup";  MYSQL_RES *result=NULL;  if(0==mysql_query(&mysql,sql.c_str()))  {  cout<<"mysql_query select succeed"<<endl;  result=mysql_store_result(&mysql);  int rowcount=mysql_num_rows(result);  cout<<"row count:"<<rowcount<<endl;  unsigned int fieldcount=mysql_num_fields(result);  MYSQL_FIELD *field=NULL;  for(unsigned int i=0;i<fieldcount;i++)  {  field=mysql_fetch_field_direct(result,i);  cout<<field->name<<"\t\t";  }  cout<<endl;  MYSQL_ROW row=NULL;  row=mysql_fetch_row(result);  while(NULL!=row)  {  for(int i=0;i<fieldcount;i++){  cout<<row[i]<<"\t\t";  }  cout<<endl;  row=mysql_fetch_row(result);  }  }else{  cout<<"mysql_query select data failed"<<endl;  mysql_close(&mysql);  return -1;  }  pause();  /*sql="drop table user_info";  if(0==mysql_query(&mysql,sql.c_str()))  {  cout<<"mysql_query drop table succeed"<<endl;  }else{  cout<<"mysql_query drop table failed"<<endl;  mysql_close(&mysql);  return -1;  }  */mysql_free_result(result);  mysql_close(&mysql);  mysql_server_end();  system("pause");  return 0;  
} 

  

轉載于:https://www.cnblogs.com/jycboy/p/5170751.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/396844.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/396844.shtml
英文地址,請注明出處:http://en.pswp.cn/news/396844.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux 內存泄漏 定位,一種內存泄露檢查和定位的方法

一個系統后臺服務進程&#xff0c;可能包括多個線程&#xff0c;在生成環境下要求系統程序能夠穩定長時間穩定運行而不宕機。其中一個基本的前提就是需要保證系統程序不存在內存泄露。那么&#xff0c;該如何判讀系統程序是否存在內存泄露呢&#xff1f;如果存在&#xff0c;又…

python怎么發送郵件_在Python如何使用SMTP發送郵件

SMTP&#xff08;Simple Mail Transfer Protocol&#xff09;即簡單郵件傳輸協議,它是一組用于由源地址到目的地址傳送郵件的規則&#xff0c;由它來控制信件的中轉方式。 python的smtplib提供了一種很方便的途徑發送電子郵件。它對smtp協議進行了簡單的封裝。 Python創建 SMTP…

統計單詞個數(劃分型)

codevs 1040 統計單詞個數 2001年NOIP全國聯賽提高組 題目等級 : 黃金 Gold題目描述 Description給出一個長度不超過200的由小寫英文字母組成的字母串(約定;該字串以每行20個字母的方式輸入&#xff0c;且保證每行一定為20個)。要求將此字母串分成k份(1<k<40)&#xff0c…

基于ASP.NET的新聞管理系統(三)代碼展示

5.1.1欄目部分 增加欄目&#xff08;addLanMu.aspx&#xff09;&#xff1a; <html xmlns"http://www.w3.org/1999/xhtml"> <head runat"server"> <title></title> <link rel"stylesheet" type"text/css" …

洛谷-求同構數的個數-NOIP2013提高組復賽

題目描述 Description 所謂同構數是指這樣的數&#xff0c;即它出現在它的平方數的右端。例如&#xff0c;5的平方是25 &#xff08;即5525&#xff09;&#xff0c;5是25右端的數&#xff0c;那么5就是同構數。又如&#xff0c;25的平方是625&#xff08;即2525625&#xff09…

plex linux 數據目錄,shareplex日常維護文檔

2017/07/25##SharePlex日常維護源(SRC)&#xff1a;192.168.1.101 db01目標(TGT):192.168.1.102 db02SRC:su - oraclesp_ctrlshowqstatusshow capture detailshow read detailshow log reverseshow config --查看當前使用參數文件list config --羅列出所有的參數文件(使用和未使…

ifconfig命令找不到_02. Linux命令之查看網絡連接

1. 查看網絡連接數和端口使用 netstat 命令查看網絡連接情況netstat -anp參數&#xff1a;-a 顯示所有選項-t (tcp)僅顯示tcp相關選項-u (udp)僅顯示udp相關選項-n 拒絕顯示別名&#xff0c;能顯示數字的全部轉化成數字。-p 顯示建立相關鏈接的程序名關鍵列解釋:Proto 表示協議…

grep與egrep的區別

grep與egrep的區別&#xff1b; 在linux系統環境下&#xff0c;我們通常使用grep命令來過濾出需要的行而egrep確很少使用&#xff0c;他們的區別其實很簡單&#xff0c;grep默認不支持正則表達式&#xff0c;egrep默認支持正則表達式&#xff0c;egrep 等于 grep -E 命令。轉載…

python學習之模塊(pip),列表生成式,模塊操作mysql,excel

python基礎 生成式 列表生成式  格式 [表達式 for 表達式 in 迭代對象 (可加判斷)] 原&#xff1a; 1 res1 [] 2 for i in range(1,5): 3   res1.append(i) 4 print(res1) 改&#xff1a; 1 res2 [i for i in range(1,5)] 2 print(res2) 字典生成式  格式 {key:value f…

linux驅動read函數 copytouser,Linux驅動編程 step-by-step (五)主要的文件操作方法實現...

主要的文件操作方法實現文件操作函數有很多的操作接口&#xff0c;驅動編程需要實現這些接口&#xff0c;在用戶編程時候系統調用時候會調用到這些操作structfile_operations {...loff_t (*llseek) (structfile *, loff_t,int);ssize_t (*read) (structfile *,char__user *,siz…

web開發中的 emmet 效率提升工具

web開發中的 emmet 效率提升工具 可以用來快速生成html 代碼。 并且給各種IDE、編輯器提供了插件支持&#xff0c;sublime &#xff0c;webstorm等。 如在webstorm中安裝好emmet之后&#xff0c;輸入以下文本&#xff0c; #page>div.content[ng-model"user"]ul>…

python二維數組操作_Python二維數組應用與操作

課課家將會在這里為大家詳細的介紹一下Python二維數組的相關應用方法以及定義方式&#xff0c;相信朋友們可以從中學習到更多的知識。 Python數組的應用中在實際編程中是一個非常重要的應用技術&#xff0c;作為Python編程人員來說&#xff0c;必須要熟練的掌握這方面的所有應用…

基于光線追蹤的渲染中景深(Depth of field)效果的實現

圖形學離線渲染中常用的透視攝像機模型時根據小孔成像的原理建立的&#xff0c;其實現通常是從向成像平面上發射ray&#xff0c;并把trace這條ray的結果作為成像平面上對應交點的采樣結果。即&#xff1a; 圖片來自《Fundamentals of Computer Graphics》 現實中的鏡頭拍攝的圖…

ubuntu 安裝 pycharm

添加源&#xff1a;$ sudo add-apt-repository ppa:mystic-mirage/pycharm安裝收費的專業版&#xff1a;$ sudo apt update$ sudo apt install pycharm安裝免費的社區版&#xff1a;$ sudo apt update$ sudo apt install pycharm-community卸載&#xff1a;$ sudo apt remove p…

帶你制作百詞斬單詞表讀寫插件

上篇博文簡單的介紹了一下Chrome插件&#xff0c;今天就與大家分享一下我做的這款有實際意義的插件吧。 做這款插件主要是用百詞斬站點進行單詞學習時&#xff0c;遇到的一點點鬧心事兒。在單詞表中不能聽發音。也不能練習拼寫。所以才忍無可忍的做了這么一款插件。自我感覺還是…

Linux7改運行級別,Centos7.0修改系統運行級別

首先翻譯下ininttab里面的內容&#xff1a;#inittab不再使用時利用系統。#添加配置這會對你的系統沒有影響。#Ctrl-Alt-Delete由/usr/lib系統/系統/ctrl-alt-del.target處理#系統使用的目標而不是運行級別。默認情況下&#xff0c;有兩個主要目標&#xff1a;#multi-user.targe…

python測試字符串類型的函數_python-02 數據類型 字符串str

字符串str 一、字符串定義 概念&#xff1a;字符串是有序的 不可修改的&#xff0c;元素以引號包圍的序列 引號類型&#xff1a;單引號 “”雙引號 “ ””三引號 三單引號 print(python) print("python") print(python) print("""python""…

POJ2115 C Looooops(線性同余方程)

無符號k位數溢出就相當于mod 2k&#xff0c;然后設循環x次A等于B&#xff0c;就可以列出方程&#xff1a; $$ CxA \equiv B \pmod {2^k} $$ $$ Cx \equiv B-A \pmod {2^k} $$ 最后就用擴展歐幾里得算法求出這個線性同余方程的最小非負整數解。 1 #include<cstdio>2 #incl…

工作測試博客

工作測試博客轉載于:https://blog.51cto.com/12559670/1895000

iphone各機型參數對比_帶你了解新款iPhone 12系列四款機型

2020年10月14日凌晨1&#xff1a;00&#xff0c;蘋果召開新品發布會&#xff0c;發布了新款iPhone 12系列手機&#xff0c;“果粉”們期待已久的iPhone 12終于來了。iPhone 12系列手機共有四款機型&#xff0c;分別是iPhone 12 mini、iPhone 12、iPhone 12 Pro、iPhone 12 Pro …