Боюсь, что в дистрибутиве MinGW нет crtdbg.h.Я думаю, что в Windows этот заголовок поставляется с компилятором Microsoft.Я считаю, что вы могли бы также использовать Cygwin вместо компилятора Micrsoft, поскольку компиляция MySql в Windows возможна только с помощью Cygwin или компилятора Microsoft (MinGW не поддерживается), поэтому теоретически Cygwin должен иметь возможность компилировать вашу программу.
Вы также можете бесплатно получить компилятор Microsoft, установив Windows SDK.
Если никто не может помочь мне с этой проблемой, может кто-нибудь сказать мне, в чем разница между использованием mysqlclient.lib и libmysql.lib / libmysql.dll?
mysqlclient.lib должен быть статической библиотекой, а libmysql.lib / libmysql.dll - динамической библиотекой.
ПРИМЕЧАНИЕ: Если вы хотите использовать статическую библиотеку с компилятором Microsoft, она должна быть скомпилирована с тем же компилятором (и с той же версией), что и ваша программа.Вы можете найти больше информации о компиляции на windows здесь .Посмотрите на последний раздел Компиляция клиентов MySQL в Microsoft Windows
ОБНОВЛЕНИЕ : Используя компилятор Microsoft, вы можете скомпилировать код с помощью следующей команды:
cl mysource.c /IC:\Path\To\MySql\Include\Directory /link /LIBPATH:C:\Path\To\MySql\Lib\Directory /DEFAULTLIB:libmysql