• 0

Basic C++ project with MySQL Connector


Question

Recently I tried creating same code in JAVA as in C# to brush up on JAVA - a similar helper library for easy querying of database and object mapping In the end I realized that Java is a terrible language (forced exception checking, terrible reflection, and lack of support for generics). Anyway, now I want to do the same thing (or at least attempt to) in C++ to learn C++

First thing first, I am trying to get MySQL connector to work with C++

  • I installed MySQL connector to C:\Program Files\MySQL\MySQL Connector C++ 1.1.6
  • I then created a Win32 Console Application project in VS2015
  • In "Additional Include Directories" I have, ("C/C++" - "General")

C:\Program Files\MySQL\MySQL Connector C++ 1.1.6\include\cppconn
C:\Program Files\MySQL\MySQL Connector C++ 1.1.6\include
%(AdditionalIncludeDirectories)

  •  In "Additional Library Directories". Have, ("Linker" - "General")

C:\Program Files\MySQL\MySQL Connector C++ 1.1.6\lib\opt
%(AdditionalLibraryDirectories)

  • In "Additional Dependencies" I have,

mysqlcppconn-static.lib
libmysql.lib
%(AdditionalDependencies) 

Then I try, to add,

#include "mysql_connection.h"

This file exists in the "include" directory, but I get error "cannot open source file"

 

 

 

 

So then I tried to build the thing from source (C++ libraries incompatible with each other unless built using the same compiler???), first attempt was like,

SET PATH=%PATH%;C:\Program Files (x86)\CMake\bin
cd "C:/Users/{0}/Documents/C++/mysql-connector-c++-1.1.6"
cmake -G "Visual Studio 14 2015 Win64" -DBOOST_ROOT:STRING="C:\Users\{0}\Documents\C++\boost_1_59_0" -DMYSQL_CLIENT_STATIC_LINKING=1 -DMYSQL_INCLUDE_DIR="C:\Users\{0}\Documents\C++\MySQL Connector C++ 1.1.6\include"

Which produced a "could not find a "mysql.h"" so... next up I followed a different set of directions based on post by Atul Patil in http://dev.mysql.com/doc/connector-cpp/en/connector-cpp-apps-windows-visual-studio.html which stated that I needed to build the MySQL server first to build the connector.

So I extracted the source for "mysql-5.6.26", navigated via CMD to, mysql-5.6.26/BUILD and ran "cmake .. -G "Visual Studio 14 2015 Win64"" which worked. I opened the generated solution in Visual Studio and mysqlclient which failed with,

Error LNK1181 cannot open input file 'C:/Users/{0}/Documents/C++/mysql-5.6.26/BUILD/libmysql/Debug/clientlib.lib' mysqlclient C:\Users\{0}\Documents\C++\mysql-5.6.26\BUILD\libmysql\LINK 1

Thoughts? TBH getting things to compile and run was my primary reason to avoid C++ in the past - followed by header files

 

 

EDIT,

Pile of ###### doesn't support VS 2015 yet, what a ######## disgrace,

http://forums.mysql.com/read.php?117,634127,634127#msg-634127 

 

Edited by _Alexander
Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

This topic is now closed to further replies.