我正在尝试使用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!
有没有办法手动设置手册? 谢谢。
答案 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”
希望它有所帮助。