MySQL 开发库安装

mysql 开发

mysql 库下载地址:https://dev.mysql.com/downloads/
参考从源代码构建 mysql 库:https://blog.csdn.net/qq_39545674/article/details/106618299

手动安装 mysql 库

可以选择不使用包管理器(如sudo apt-get install)来安装libmysqlclient-dev,而是手动下载并安装MySQL客户端库。以下是手动安装MySQL客户端库的步骤:

  1. 下载MySQL客户端库:首先,您需要从MySQL官方网站或其他可信源下载MySQL客户端库的源代码或预编译的二进制文件。通常,您可以从MySQL官方网站的下载页面获取。
  2. 解压下载的文件:下载完成后,解压文件到指定的目录。例如,如果您下载了.tar.gz格式的文件,可以使用以下命令解压:
    1
    tar -xzvf mysql-connector-c-x.x.x.tar.gz
    其中x.x.x是下载的MySQL客户端库的版本号。
  3. 编译和安装:进入解压后的目录,按照库的构建说明进行操作。这通常包括配置、编译和安装:
    1
    2
    3
    4
    cd mysql-connector-c-x.x.x
    ./configure
    make
    sudo make install
    ./configure步骤可能会提供选项来自定义安装路径和其他配置。如果您需要指定安装路径,可以使用--prefix选项,例如:
    1
    ./configure --prefix=/path/to/mysql
    这将安装库到指定的/path/to/mysql目录。
  4. 设置环境变量:如果安装到了非标准路径,您可能需要更新LD_LIBRARY_PATH环境变量,以便运行时能够找到库文件:
    1
    export LD_LIBRARY_PATH=/path/to/mysql/lib:$LD_LIBRARY_PATH
    您可以将这个命令添加到您的.bashrc.bash_profile文件中,以便在每次登录时自动设置。
  5. 更新头文件路径:在编译C++代码时,如果头文件不在标准路径中,您需要使用-I选项来指定头文件的路径:
    1
    g++ -I/path/to/mysql/include your_code.cpp -o your_executable
  6. 更新库文件路径:在链接时,如果库文件不在标准路径中,您需要使用-L选项来指定库文件的路径:
    1
    g++ your_code.cpp -o your_executable -L/path/to/mysql/lib -lmysqlclient
    手动安装MySQL客户端库可以让您更好地控制安装过程,但这也意味着您需要手动管理库的更新和维护。确保您下载的库版本与您的MySQL服务器版本兼容,并遵循库的安装指南进行操作。

软件库安装mysql库

在Ubuntu中使用C++开发关于MySQL的程序时,您需要安装MySQL Connector/C++库,这是MySQL官方提供的C++接口,用于与MySQL数据库进行交互。以下是您可能需要安装的几个相关包:

  1. MySQL服务器(如果您的机器上还没有安装MySQL服务器):
    1
    sudo apt-get install mysql-server
  2. MySQL客户端库(用于C++程序连接到MySQL服务器):
    1
    sudo	 apt-get install libmysqlclient-dev
  3. **MySQL Connector/C++**(如果您选择使用MySQL Connector/C++库):
    1
    sudo apt-get install libmysqlcppconn-dev
  4. 调试符号包(如果您需要进行调试):
    1
    sudo apt-get install libmysqlcppconn-dbgsym
    对于大多数基本的MySQL C++开发,安装libmysqlclient-dev通常就足够了,因为它提供了MySQL客户端库和必要的头文件。如果您需要使用更高级的功能或者更喜欢使用MySQL Connector/C++提供的对象关系映射(ORM)特性,那么您可能需要安装libmysqlcppconn-dev
    在安装了必要的库之后,您就可以在C++代码中包含MySQL的头文件,并链接到MySQL的库来进行开发了。例如,如果您使用libmysqlclient-dev,您的C++代码可能看起来像这样:
    1
    2
    3
    4
    5
    6
    #include <mysql/mysql.h>
    int main() {
    // MySQL初始化和连接代码
    // ...
    return 0;
    }
    编译时,您需要指定链接到MySQL库:
    1
    g++ your_code.cpp -o your_program -lmysqlclient
    请确保您的MySQL服务器正在运行,并且您的C++程序具有正确的权限来连接到MySQL数据库。如果您是在一个新安装的Ubuntu系统上开发,您可能还需要配置MySQL用户和权限。

注意

https://zhuanlan.zhihu.com/p/672924390

在linux上安装第三方开发工具的时候,默认位置,其头文件均在

/usr/local/include
默认的库文件在

/usr/local/lib

/usr/local/include//usr/include/ 都是存放头文件(header files)的目录,但它们在使用和管理上有一些区别:

  1. /usr/local/include/

- /usr/local/include/ 目录通常用于存放本地安装的第三方库的头文件。

- 这个目录是本地安装的默认安装路径,与操作系统自带的软件包管理器(如 apt、yum 等)无关。

- 当你手动编译和安装第三方库时,其头文件通常会被放置在 /usr/local/include/ 目录下。

- 在编译和构建项目时,你可以使用 -I 选项将该目录添加到头文件搜索路径中,以包含这些头文件。

  1. /usr/include/

- /usr/include/ 目录是系统提供的默认头文件目录。

- 这个目录通常包含操作系统自带的库和工具的头文件。

- 由于这些头文件属于操作系统软件包的一部分,通常由操作系统的软件包管理器来管理和更新。

- 在编译和构建项目时,编译器会默认搜索 /usr/include/ 目录下的头文件,你无需显式添加它们到头文件搜索路径中。

总结:

- /usr/local/include/ 目录用于存放本地安装的第三方库的头文件,需要手动添加到头文件搜索路径中。

- /usr/include/目录包含操作系统自带的库和工具的头文件,无需显式添加到头文件搜索路径中。

请注意,具体的目录路径和使用方式可能因操作系统和配置而有所不同。上述解释是一般情况下的常见做法,请根据你的实际环境进行适当调整。

在Linux系统上,gcc(GNU Compiler Collection)会查找头文件(.h文件)的默认目录是固定的。这些目录通常包括标准库头文件和系统头文件。以下是gcc在Linux系统上查找头文件的默认目录:

  1. 主目录/usr/include
    • 这是最常见的系统头文件目录,包含了C和C++标准库的头文件。
  2. 本地目录/usr/local/include
    • 这个目录通常用于存放本地安装的库的头文件,比如手动安装的软件包。
  3. gcc特定的目录/usr/lib/gcc/*-linux-gnu/*/include
    • 这个目录包含了特定版本的gcc编译器的头文件。
  4. 标准C++库目录/usr/include/c++/*
    • 这个目录包含了C++标准库的头文件,比如STL。
  5. 架构特定的目录/usr/include/*-linux-gnu
    • 这个目录包含了特定于Linux架构的头文件。
  6. 当前目录. (当前工作目录)
    • gcc也会在当前目录查找头文件,如果没有指定其他路径。
      如果您想查看gcc具体使用的头文件路径,可以使用-v(或--version)选项来编译一个简单的程序,并观察输出的包含路径:
      1
      gcc -v -x c /dev/null -o /dev/null
      这个命令会尝试编译一个空的C程序,并输出gcc的版本信息和预处理器的头文件搜索路径。您可以通过这个命令来确认gcc实际使用的头文件目录。