• 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")
  Quote

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")
  Quote

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

  • In "Additional Dependencies" I have,
  Quote

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,

  Quote

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

0 answers to this question

Recommended Posts

There have been no answers to this question yet

This topic is now closed to further replies.
  • Posts

    • Minor update.  All is going well for the most part.  Picked up some new information today though from my server logs. Just discovered a new #ByteDance scraper's useragent; imageSpider.  More specifically: "Mozilla/5.0 (compatible; imageSpider; scrapedia-receive@bytedance.com)" Added to my list. I'm also adding #Alibaba IP ranges to a "drop" rule on my firewall because they've aggressively scraping me (hundreds of thousands of requests per day), but they're not using accurate user agents.  They're ignoring robots.txt (big surprise) and pretending to be everything from Chrome 114 to Internet Explorer 6 and not self identifying as a bot.
    • TLDR: Doom 2016 style reboot, which is what we have been asking since Bungie announced this "reboot"
    • I'm gonna take the bait but here we go: It's closed source as far as Linux goes but it is not locked to the Steam as a gaming platform. Yes, you need a Steam account to start using SteamOS, but after that you can use whatever Linux compatible launcher you want, ie Heroic or Lutris It doesn't need an antivirus, it's Arch Linux. Anticheats work, depending on the game and publisher. Many games with EAC work. None with kernel level malware anticheat work, and they should NOT work on Windows either (MS really needs to block this). It is compatible with Linux applications, Flatpak applications. You can also enable regular Pacman/AUR yourself. It's disabled, not removed, out of the box to protect the OS from you But surely you do know you don't have to use SteamOS on the Steam Deck, right?
    • Preparation of bringing subscription model to WhatsApp. Pathetic and greedy.
    • Doing that has only worked for me with the Enterprise version.
  • Recent Achievements

    • Week One Done
      Peterlll06 earned a badge
      Week One Done
    • One Month Later
      gatilogistic earned a badge
      One Month Later
    • One Year In
      Custom Greek Shirts earned a badge
      One Year In
    • One Month Later
      Custom Greek Shirts earned a badge
      One Month Later
    • Week One Done
      Custom Greek Shirts earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      673
    2. 2
      ATLien_0
      281
    3. 3
      Michael Scrip
      222
    4. 4
      +FloatingFatMan
      190
    5. 5
      Steven P.
      145
  • Tell a friend

    Love Neowin? Tell a friend!