L'utilisation de la librairie MySQL libmysql.dll dans un CGI en C++ sous Vista / IIS7 provoque le message suivant :
runtime error R6030 - CRT not initialized
Voici le code qui génère ce message:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #include "stdafx.h" #include "TestCGI.h" #include "mysql.h" int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) { printf("Content-Type: text/html\n\n"); printf("\n<html><body>Hello world 2</body></html>"); mysql_init((MYSQL*) 0); // Appel MySQL, qui génère le message "runtime error R6030 - CRT not initialized" return 0; }
Ce code fonctionne bien sûr sans problème avec IIS6 sous XP.
Il utilise la librairie libmysql.dll de MySQL 5.05 (même résultat avec la 5.1).
Je soupçonne un problème de protection Vista plutôt qu'un problème IIS7 car ce code ne fonctionne pas non plus avec un autre serveutr Web comme AbyssWS. Le message d'erreur trouvé dans la log est alors "Broken pipe".
Si vous avez le même problème dîtes le moi, et si vous avez la solution ma gratitude éternelle vous est acquise !...
Emmanuel
Partager