0

我正在尝试使用 CMake 为 VS 2012 构建 c++ 连接器。它正在搜索 MySQL 目录,但找不到。

C:\mysql-connector-c++-1.1.3>cmake -DBOOST_ROOT:STRING=C:\cpp\boost
CMake Warning (dev) in CMakeLists.txt:
  A logical block opening on the line

    C:/mysql-connector-c++-1.1.3/CMakeLists.txt:39 (if)

  closes on the line

    C:/mysql-connector-c++-1.1.3/CMakeLists.txt:41 (endif)

  with mis-matching arguments.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Environment compile flags:
-- Environment link flags:
-- Boost version: 1.53.0
-- BOOST_INCLUDE_DIRS=C:/cpp/boost
-- ENV{MYSQL_DIR} =
**CMake Error at FindMySQL.cm:220 (MESSAGE):
  Cannot find MySQL.  Include dir: MYSQL_INCLUDE_DIR-NOTFOUND library dir:**
  cxxflags:
Call Stack (most recent call first):
  CMakeLists.txt:173 (INCLUDE)


-- Configuring incomplete, errors occurred!

有没有办法手动设置它?谢谢你。

4

3 回答 3

0

当然:如果您知道 MySql 包含目录的位置(C:\MySql\include例如),只需使用以下-D选项调用 CMake:

cmake -DMYSQL_INCLUDE_DIR=C:\MySql\include

如果需要,-D命令行选项定义具有给定值的 CMake 常量。当 CMake 找不到变量并且您知道它应该具有哪个值时,您应该-D在调用它时将其提供给 CMake。

于 2013-05-28T09:18:14.810 回答
0

通常,您需要的 MySQL 文件位于Program Files 文件夹中。在我的情况下,我将 MySQL C 连接器安装到默认位置,即C:\Program Files\MySQL\MySQL Connector C 6.1.

您可以按照此类似帖子中的步骤在 Visual Studio 2012 上编译 MySQL C++ 连接器。

注意:如果您不希望它是 64 位,则在cmake调用时更改-G "Visual Studio 11 Win64"-G "Visual Studio 11".

于 2013-11-29T11:06:27.103 回答
-1

将 MYSQL_DIR 添加到我的计算机的环境变量中解决了这个问题。

这个目录应该设置为 MySQL 服务器的目录,对我来说是“E:\MySQL\MySQL Server 5.6”

希望能帮助到你。

于 2014-07-13T10:52:46.250 回答