search

只用VS2010编译mysql-connector-c 0 准备: 1)安装mysql服务器 2)安装boost库 3)下载并解压mysql-connector-c-noinstall-1.1.1(http://www.mysql.com/downloads/connector/cpp/) 4)下载并解压mysql-connector-c源码备用,以下简称“源码” 1 新建项目 打

只用VS2010编译mysql-connector-c++

 0 准备:

 1)安装mysql服务器
 2)安装boost库
 3)下载并解压mysql-connector-c++-noinstall-1.1.1(http://www.mysql.com/downloads/connector/cpp/)
 4)下载并解压mysql-connector-c++源码备用,以下简称“源码”
 
 1 新建项目
 打开VS2010,新建Win32 DLL项目“mysqlconn”,选择“Empty project”
 
 2 拷贝必要文件
 1)将源码中的driver文件夹拷贝到项目文件夹mysqlconn中,
 2)在项目文件夹mysqlconn中新建include目录,这里需要放两个文件夹:
    a)将mysql-connector-c++ noinstall目录中的cppconn文件夹拷贝至include中
    b)新建一个mysql文件夹,并将mysql服务安装目录下的include文件夹中的头文件拷贝至其中
 3)在项目文件夹mysqlconn中新建lib目录并将libmysql.lib拷贝指其中
 
 3 添加必要文件到项目
 1)将mysqlconn中driver目录下的.h和.cpp文件加入项目(先不加子文件夹nativeapi中的文件):
 项目右键->Add->New Filter,命名为“Driver”,“Driver”右键->Add->Existing Item,
 找到并选中driver文件夹下的.h和.cpp文件,加入过滤器Driver中
 
 2)再新建Native过滤器,加入driver\native中的cpp文件,注意“libmysql_dynamic_proxy.cpp”和“libmysql_static_proxy.cpp”一定不要添加,否则会出一堆错误“error LNK2005”
 
 4 设置项目属性
 1)C/C++增加“附加包含目录”:
 mysqlconn下的include
 mysqlconn下的include下的cppconn
 mysqlconn下的include下的mysql
 boost目录
 
 2)设置预处理器定义:
 WIN32;_DEBUG;_LIB;mysqlcppconn_EXPORTS
 
 3)设置链接器
 添加“附加包含目录”:mysqlconn下的lib文件夹
 添加“附加依赖项”:libmysql.lib
 
 5 编译

 生成的mysqlconn.lib 和 mysqlconn.dll就可以用在vs2010项目中了


CMake+VS编译

http://www.cnblogs.com/wenix/archive/2012/10/10/2719117.html

软件环境:

win8 build8200 64位版本,

visual studio 2012,

mysql 5.5.28,

mysql connector c++ 1.1.1

从官网上下载了mysql connector c++ 1.1.1以后,使用封装的类连接时出了很多令人十分蛋疼的问题。

1.缺少sqlstring.h头文件---->下载noinstall版本,里面有这个文件。

2.需要boost环境---->下载boost库,然后编译,然后加入头文件和库文件搜索路径到工程中。

3.使用result->getString();崩溃。---->下面详细说明此问题。

原因是官方提供的库文件版本与需要的库版本不匹配,提供的debug版本使用的是MT版本,在debug模式下会出现内存错误,导致crash。只是根本原因,至于加入msvcrt.lib等库文件等解决办法,毫无作用。经过试验,只能使用如下办法:

1.下载mysql connector c++ 1.1.1 源代码,解压到非系统盘下(涉及权限问题)。

2.下载cmake

3.配置MYSQL_DIR指向mysql server的路径。

4.配置BOOST_ROOT指向boost库路径。

5.把cmake添加到PATH中。

6.然后使用visual studio 2012 自带的命令终端进入mysql connector c++ 1.1.1解压后的目录中,不建议使用一般终端,因为可能会有环境变量没配置的情况。

7a.输入cmake -G "Visual Studio 11 Win64".

8a.输入devenv.com MySQLCPPCONN.sln /build Release,这样编译出来的库版本是Release版本,dll在driver/Release目录下。

7b.输入cmake -G "Visual Studio 11 Win64" -DCMAKE_BUILD_TYPE=Debug

8b.输入devenv.com MySQLCPPCONN.sln /build Debug,这样编译出来的库版本是Debug版本,dll在driver/Rease目录下。

然后把相应的库拷贝到工程的Debug,Release目录下,配置工程属性中的c/c++-->Code Generation-->Runtime Library为MDd,就是Debug版,如果是MT,就是Release版本。这样上面的问题就解决了。

PS:我的是64位环境,如果是win32的,相应的参数可以使用cmake --help来查看,然后替换即可。


Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
C++编译报错:未声明的标识符,如何解决?C++编译报错:未声明的标识符,如何解决?Aug 22, 2023 pm 03:34 PM

在使用C++进行编程时,经常会遇到未声明的标识符这个问题。这种情况通常发生在使用了未定义的变量、函数或类时,导致编译器无法识别这些标识符,进而产生编译错误。本文将介绍导致未声明的标识符问题的常见原因以及如何解决这个问题。常见原因未声明的标识符问题通常由以下几种原因导致:变量、函数或类未被正确声明:在使用变量、函数或类之前,应该先声明它们。如果变量未被声明或函

为什么我的Go程序需要更长的时间来编译?为什么我的Go程序需要更长的时间来编译?Jun 09, 2023 pm 06:00 PM

近年来,Go语言已经成为了越来越多开发者的选择。但是,相比其他编程语言而言,Go语言的编译速度却不够快。很多开发者在编译Go程序时都会遇到这样的问题:为什么我的Go程序需要更长时间来编译?本文将会从几个方面探讨这个问题。Go语言的编译器架构Go语言的编译器架构采用的是三阶段设计,分别是前端、中间层和后端。前端负责将源代码翻译成Go语言的中间代码,中间层则将中

Java 中的编译和反编译技术Java 中的编译和反编译技术Jun 09, 2023 am 09:43 AM

Java是一种非常流行的编程语言,广泛应用于开发各种类型的软件。在Java开发中,编译和反编译技术是非常重要的环节。编译技术用于将Java代码转换成可执行文件,而反编译技术则允许人们将可执行文件重新转换回Java代码。本文将介绍Java中的编译和反编译技术。一、编译技术编译是将高级语言(如Java)代码转换为机器语言的过程。在Java

linux为什么要编译源码linux为什么要编译源码Mar 17, 2023 am 10:21 AM

原因:1、Linux发型版本众多,但是每个版本采用的软件或者内核版本都不一样,而二进制包所依赖的环境不一定能够正常运行,所以大部分软件直接提供源码进行编译安装。2、方便定制,满足不同的需求。3、方便运维、开发人员维护;源码是可以打包二进制的,但是对于这个软件的打包都会有一份代价不小的额外工作,包括维护,所以如果是源码的话,软件产商会直接维护。

mysql怎么替换换行符mysql怎么替换换行符Apr 18, 2022 pm 03:14 PM

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

C++编译错误:函数参数列表太长,应该怎么解决?C++编译错误:函数参数列表太长,应该怎么解决?Aug 21, 2023 pm 11:19 PM

C++编译错误:函数参数列表太长,应该怎么解决?在使用C++编写程序时,有时候会遇到这样的编译错误:函数参数列表太长。对于C++初学者来说,这可能是一个很头疼的问题。接下来,我们将介绍这个问题的原因和解决方法。首先,让我们来看一下C++函数参数的基本规定。在C++中,函数参数必须在函数名和左括号之间声明。当你传递函数参数时,告诉函数要做什么。这些参数可以是任

go语言能不能编译go语言能不能编译Dec 09, 2022 pm 06:20 PM

go语言能编译。Go语言是编译型的静态语言,是一门需要编译才能运行的编程语言。对Go语言程序进行编译的命令有两种:1、“go build”命令,可以将Go语言程序代码编译成二进制的可执行文件,但该二进制文件需要手动运行;2、“go run”命令,会在编译后直接运行Go语言程序,编译过程中会产生一个临时文件,但不会生成可执行文件。

MySQL复制技术之异步复制和半同步复制MySQL复制技术之异步复制和半同步复制Apr 25, 2022 pm 07:21 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.