MySQL连接器/ C ++
用于C和C ++应用程序的MySQL连接器库 |
Connector/ c++ 8.0实现了新的api来访问MySQL Server 8的文档存储:X DevAPI用于用c++ 11编写的应用程序,X DevAPI用于用C编写的应用程序。相同的api也可以用于执行传统的SQL查询。连接器/ c++ 8.0还实现了基于JDBC4的遗留c++ API, JDBC4向后兼容连接器的1.1版本。
通过包括适当的公共标题来完成API的选择。对于X devapi包括:
对于X DevAPI的C包括:
对于遗留API包括:
前面包括在假设包括路径包含的假设下的指令$ MYSQL_CPPCONN_DIR /包括
, 在哪里$ mysql_cppconn_dir.
是安装了连接器/ C ++的位置。通过-i $ mysql_cppconn_dir /包含
选项以确保这一点。
美元MYSQL_CPPCONN_DIR / include / jdbc
到包括路径。x devapi使用C ++ 11语言功能。因为这个原因,使用Compiler在编译器中支持C ++ 11化c++ 11
建立使用x devapi的代码时的选项。对于C(这是普通的CAPI)的X Devapi,不需要这是基于普通C ++的传统JDBC API所需的。
根据平台,共享连接器/ C ++库被命名为:
libmysqlcppconn8.so
在Unix平台上(Sonamelibmysqlcppconn8.so.1
)libmysqlcppconn8.dylib.
在OSX平台上(链接名称libmysqlcppconn8.1.dylib
)mysqlcppconn8-1-vsxx.dll.
在Windows平台上(使用导入库vsxx / mysqlcppconn8.lib)这个库实现了新的X DevAPI和用于C的X DevAPI。连接器/ c++ 8.0还包含了遗留的连接器库libmsysqlcpconn(.so / .dylib / .dll)
它实现了遗留JDBC4 API。
要构建使用新api的代码,请添加-lmysqlcppconn8.
到链接器选项(添加-lmysqlcppconn.
在构建遗留代码时)。这需要美元MYSQL_CONCPP_DIR / lib
或美元MYSQL_CONCPP_DIR / lib64
(将在64位平台上的后者)添加到链接器路径(-l $ mysql_cppconn_dir / lib64
链接器选项)。
由于不同编译器版本之间的ABI不兼容,使用连接器/ C ++库的代码应使用与连接器本身相同的编译器版本构建。可以在内部找到用于构建连接器库的编译器版本的信息info_bin.
与连接器一起分发的文件。原则上,可以使用不同版本的编译器,只要它是ABI兼容的,但是很难确定哪个版本的编译器彼此是ABI兼容的。
一个例子Makefile
构建使用连接器/ C ++ X devapi的应用程序,其中包含app.cc
如下所示:
它生成以下编译器调用:
-lmysqlcppconn.
。此外,选择化c++ 11
除非用户代码利用C ++ 11,否则可以省略。连接器也可以与普通的C代码一起使用,编写针对C的X Devapi。一个例子Makefile
来构建一个普通的C应用程序app.c.
可能是这样的:
它生成以下编译器调用:
请注意,结果代码,即使它被编译为普通C,也将取决于C ++运行时(libstdc + +
)。
可以将您的应用程序与静态连接器库链接起来。这样,就没有了对连接器的运行时依赖,生成的二进制文件可以在没有安装connector / c++的系统上运行。
当编译与连接器库静态链接的代码时,定义static_concpp.
在包括连接器/ C ++公共标题之前的宏。此宏调整标题中的API声明以使用静态库。
cppconn_public_func.
它是空宏(与使用静态连接器/ C ++ 1.1库相同的方式)静态库名称是:
libmysqlcppconn8-static.a
在OSX和Unix平台上。mysqlcppconn8-static.lib.lib.
在Windows平台上。遗留的静态库名称是libmysqlcppconn-static.a.
和mysqlcppconn-static.lib.lib.
, 分别。
一个例子Makefile
要构建一个C ++应用程序,可静态显示与连接器库的链接如下所示:
它生成以下编译器调用:
-lmysqlcppconn.
。此外,选择化c++ 11
可以省略,除非用户代码需要c++ 11。请注意,我们需要添加到编译行“openssl库和连接器/ c ++代码所取决于的pthread库。否则,链接器报告未解决的符号。
套接字
那RT.
和NSL.
可能需要图书馆。构建简单的C代码时是很重要的另外照顾连接器依赖c++运行时,由连接器介绍图书馆即使代码使用它是纯C。一种方法是确保一个c++链接器是用来构建最终的代码。本例中采用了这种方法Makefile
下图:
用这个Makefile
构建过程有两个步骤:首先是应用程序来源app.c.
使用Plain C编译器编译,然后使用C ++链接器链接最终可执行文件,该链接将根据C ++运行时处理依赖项:
另一种方法是使用普通的C编译器和链接器,但添加c++运行时库libstdc + +
作为链接器的显式输入:
用这个Makefile
编译器的调用方法如下:
有关使用连接器/ C ++的建筑代码的更多信息咨询我们的在线文档10bet官方网站。