CMake(win)mysql c ++连接器 - 找不到mysql

时间:2013-05-28 03:58:50

标签: c++ mysql cmake connector

我正在尝试使用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!

有没有办法手动设置手册? 谢谢。

3 个答案:

答案 0 :(得分:0)

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

cmake -DMYSQL_INCLUDE_DIR=C:\MySql\include

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

答案 1 :(得分:0)

通常,您需要的MySQL文件位于 Program Files 文件夹中。 在我的例子中,我将MySQL C Connector安装到C:\Program Files\MySQL\MySQL Connector C 6.1

中的默认位置

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

注意:如果您不希望它为64位,则cmake来电更改为-G "Visual Studio 11 Win64"-G "Visual Studio 11"

答案 2 :(得分:-1)

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

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

希望它有所帮助。