skip to Main Content

I’m new to databases, so I wanted to make a program to perform simple queries in mysql with C++ in VS Code, in Windows 10. Last time I had problems with linking the library, and now it seems like I managed to fixed them. I have the following code taken from another source by adding my system configurations:

#include <iostream>
#include <windows.h>
#include "C:/Program Files/MySQL/MySQL Server 8.0/include/mysql.h"

int main(){
    MYSQL* conn;
    conn = mysql_init(0);
    conn = mysql_real_connect(conn, "localhost", "root", "password", "project", 0, NULL, 0);

    if(conn){
        std::cout << "Connected" << std::endl;
    } else {
        std::cout << "Not connected" << std::endl;
    }
}

When I compile it with the command g++ main.cpp -Wall -Werror -I "C:/Program Files/MySQL/MySQL Server 8.0/include" -L "C:/Program Files/MySQL/MySQL Server 8.0/lib" -lmysql, it compiles without reporting any errors. However, if I try to run it, the program simply terminates. I don’t understand what problems could be. I suspect the problem might be with mysql connector, but as I said I’m new to it, so I still have doubts. So I would really appreciate it if you could help me out how I can proceed further.

I looked for similar questions, and they helped me only for linking to the library.

2

Answers


  1. Chosen as BEST ANSWER

    Fixed it. Just had to add libmysql.dll in a folder with the main.cpp file. Thank you all for your advices.


  2. mysql_init can return NULL:

    An initialized MYSQL* handler. NULL if there was insufficient memory to allocate a new object.

    Wouldn’t be safer to check its value before second call?

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search