我正在尝试从 Visual Studio 2012 中的源代码为 64 位 架构构建 mySQL 连接器 C++
我知道这取决于一些 boost 头文件和 C 连接器。
运行 CMake 会生成一个项目文件,但该项目文件无法编译,因为有一大堆非常令人困惑的错误,这些错误可能与包含文件有关,还有更大的警告列表。官方网站帮助不大。

有人可以列出成功编译C++连接器的所有步骤吗?

最佳答案

为了构建它,您需要具备以下条件:

  • 您需要安装 MySQL 服务器或 MySQL C Connector
  • 已安装 Boost C++ libraries 或拥有它的源文件。请注意,不需要构建 boost,因为您只需要头文件。
  • 已安装 CMake。安装 CMake 时,它​​会询问您是否希望将其包含在 PATH 变量中,您应该选择 yes 以便以后更容易使用它。

  • 三个都可用后,打开 VS2012 x64 Native Tools Command Prompt 并从 MySQL C++ 连接器的源根目录中发出以下命令:
    set MYSQL_DIR=c:\PROGRA~1\MySQL\MYSQLC~1.1
    cmake -G "Visual Studio 11 Win64" ^
          -DBOOST_ROOT:STRING=C:\Users\user\DOWNLO~1\BOOST_~1\BOOST_~1 ^
          -DMYSQL_LIB_DIR:STRING=c:\PROGRA~1\MySQL\MYSQLC~1.1\LIB
    devenv.com MySQLCPPCONN.sln /build Release
    

    第一个命令定义了指向 MySQL 服务器或 MySQL C 连接器安装的 MYSQL_DIR 变量。
    第二个命令调用 cmake 来准备一个 64 位的 VS 项目。 MYSQL_LIB_DIR 变量好像有问题,没有生成,需要手动定义。 MYSQL_LIB_DIR 具有以 MYSQL_DIR 结尾的 \LIB 值。
    第三个命令是可选的,它将在不打开 VS 的情况下从命令提示符构建项目。

    建议您对变量使用 DOS 路径。
    为此,导航到要转换为 DOS 路径的目录并调用 for %I in (.) do echo %~sI 。它会给你转换后的路径。

    关于c++ - MySQL 连接器 C++ 64 位从 Visual Studio 2012 中的源代码构建,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20281360/

    10-11 17:22