Это в названии, я хочу создать программу в C, которая подключается к моей MySQL базе данных, которая размещается локально с MAMP, я использую в качестве IDE CLion и я на Windows. Я также использую MySQL API, который я установил в своем каталоге MinGW
. Для этого я использую этот код:
#include <stdio.h>
#include <stdlib.h>
#include <winsock.h>
#include <MYSQL/mysql.h>
int main(int argc, char **argv)
{
printf("\nhello");
MYSQL *con = mysql_init(NULL);
if (con == NULL)
{
fprintf(stderr, "%s\n", mysql_error(con));
exit(1);
}
printf("\ntest");
if (mysql_real_connect(con, "localhost", "root", "root",
"perfect-concierge", 3307, NULL, 0) == NULL)
{
fprintf(stderr, "%s\n", mysql_error(con));
mysql_close(con);
exit(1);
}
printf("\ntest2");
if (mysql_query(con, "CREATE DATABASE testdb"))
{
fprintf(stderr, "%s\n", mysql_error(con));
mysql_close(con);
exit(1);
}
printf("\ntest3");
mysql_close(con);
exit(0);
}
"Тесты" существуют, чтобы увидеть, где будут ошибка. И я использую этот CMakeFile.txt:
cmake_minimum_required(VERSION 3.12)
project(Test-MySQL C)
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_FLAGS "-Wall")
add_library(libmysql SHARED IMPORTED)
set_target_properties(
libmysql
PROPERTIES LINKER_LANGUAGE C
IMPORTED_IMPLIB "C:/MinGW/lib/libmysqlclient.a")
link_directories("C:/MinGW/lib")
add_executable(Test-MySQL main.c)
target_link_libraries(Test-MySQL libmysql)
(PS: не я сделал этот CMakeFile, а тот, кто дал мне этот пример подключения к базе данных MySQL)
Но когда я выполняю этот код, программа хорошо компилируется, запускается, и я получаю эту ошибку:
Process finished with exit code -1073741515 (0xC0000135)
Без чего-либо еще. Я пытался просто изменить основную функцию и просто оставить printf("\nhello");
, и программа работала корректно, но просто добавьте MYSQL *con = mysql_init(NULL);
, отправьте мне эту ошибку еще раз
Заранее спасибо, что потратили время, чтобы помочь мне .