Outils pour utilisateurs

Outils du site


probleme:liaison:mingw_vs

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
probleme:liaison:mingw_vs [2017/09/10 20:35] – maff => mhtml rootprobleme:liaison:mingw_vs [2019/10/30 16:02] (Version actuelle) – mhtml -> html root
Ligne 4: Ligne 4:
  
 =====unresolved external symbol _libintl_printf referenced in function …===== =====unresolved external symbol _libintl_printf referenced in function …=====
-Dans ce cas, il s'agit d'une __erreur dans l'entête__ ''libintl.h'' et qui a été corrigé depuis [[https://github.com/Alexpux/MINGW-packages/commit/b78ab10709fcda1c4220a4b2fbc7607293238656|gettext_ make libintl.h compatible with Visual Studio. · Alexpux_MINGW-packages@b78ab10 · GitHub]] {{ :probleme:liaison:mingw_vs:gettext_make_libintl.h_compatible_with_visual_studio._alexpux_mingw-packages_b78ab10_github.mhtml |Archive}}. Cette modification permet à Visual Studio de considérer la fonction ''libintl_printf'' comme étant celle native du système ''%%__printf__%%''. La question peut se poser pour savoir si cette situation était volontaire afin de forcer VS à utiliser une autre fonction que celle de base mais je ne suis pas parvenu à trouver un fichier ''.a'' qui contenait sa définition.+Dans ce cas, il s'agit d'une __erreur dans l'entête__ ''libintl.h'' et qui a été corrigé depuis [[https://github.com/Alexpux/MINGW-packages/commit/b78ab10709fcda1c4220a4b2fbc7607293238656|gettext_ make libintl.h compatible with Visual Studio. · Alexpux_MINGW-packages@b78ab10 · GitHub]] {{ :probleme:liaison:mingw_vs:gettext_make_libintl.h_compatible_with_visual_studio._msys2_mingw-packages_b78ab10_github_2019-10-30_15_54_16_.html |Archive du 15/06/2019 le 30/10/2019}}. Cette modification permet à Visual Studio de considérer la fonction ''libintl_printf'' comme étant celle native du système ''%%__printf__%%''. La question peut se poser pour savoir si cette situation était volontaire afin de forcer VS à utiliser une autre fonction que celle de base mais je ne suis pas parvenu à trouver un fichier ''.a'' qui contenait sa définition.
  
 =====unresolved external symbol __imp___iob referenced in function …===== =====unresolved external symbol __imp___iob referenced in function …=====
Ligne 44: Ligne 44:
   * ''%%___%%mingw_raise_matherr'' sera trouvé dans ''C:\msys64\mingw32\i686-w64-mingw32\lib\libmingw32.a'' mais un nouveau message d'erreur apparait : ''_atexit already defined in libmingw32.a(lib32_libmingw32_a-atonexit.o)'' dans le fichier ''MSVCRTD.lib(utility.obj)''   * ''%%___%%mingw_raise_matherr'' sera trouvé dans ''C:\msys64\mingw32\i686-w64-mingw32\lib\libmingw32.a'' mais un nouveau message d'erreur apparait : ''_atexit already defined in libmingw32.a(lib32_libmingw32_a-atonexit.o)'' dans le fichier ''MSVCRTD.lib(utility.obj)''
  
-Pour résoudre ce dernier point, pas moyen de faire les choses proprement. Appliquer la méthode [[https://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k%28LNK2005%29&rd=true|Linker Tools Error LNK2005]] {{ :probleme:liaison:mingw_vs:linker_tools_error_lnk2005.mhtml |Archive}} en ajoutant au lieur l'option ''/FORCE:MULTIPLE''. C'est sale, il faut impérativement réaliser des tests pour s'assurer que le lieur n'a pas fait n'importe quoi mais félicitation, vous avez votre librairie.+Pour résoudre ce dernier point, pas moyen de faire les choses proprement. Appliquer la méthode [[https://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k%28LNK2005%29&rd=true|Linker Tools Error LNK2005]] {{ :probleme:liaison:mingw_vs:linker_tools_error_lnk2005_microsoft_docs_2019-10-30_15_55_25_.html |Archive le 11/04/2016 le 30/10/2019}} en ajoutant au lieur l'option ''/FORCE:MULTIPLE''. C'est sale, il faut impérativement réaliser des tests pour s'assurer que le lieur n'a pas fait n'importe quoi mais félicitation, vous avez votre librairie.
  
 =====Lier des dlls MinGW avec Visual Studio===== =====Lier des dlls MinGW avec Visual Studio=====
-Cela ne peut être fait directement car la façon dont le lieur de gcc et de Microsoft converti le nom de fonction en symbole est différent. Deux articles couvrent bien le sujet.+Cela ne peut être fait directement car la façon dont le lieur de gcc et de Microsoft converti le nom de fonction en symbole est différent ([[lang:cpp:lieur|mangling]]). Deux articles couvrent bien le sujet.
  
-[[https://outofhanwell.wordpress.com/2006/05/01/linking-msvc-libraries-with-mingw-projects/|Linking MSVC Libraries with MinGW Projects _ Out of Hanwell]]{{ :probleme:liaison:mingw_vs:linking_msvc_libraries_with_mingw_projects_out_of_hanwell.mhtml |Archive}}+[[https://outofhanwell.wordpress.com/2006/05/01/linking-msvc-libraries-with-mingw-projects/|Linking MSVC Libraries with MinGW Projects _ Out of Hanwell]] {{ :probleme:liaison:mingw_vs:linking_msvc_libraries_with_mingw_projects_out_of_hanwell_2019-10-30_15_55_33_.html |Archive du 01/05/2006 le 30/10/2019}}
  
-[[http://www.mingw.org/wiki/msvc_and_mingw_dlls|MSVC and MinGW DLLs _ MinGW]]{{ :probleme:liaison:mingw_vs:msvc_and_mingw_dlls_mingw.mhtml |Archive}}+[[http://www.mingw.org/wiki/msvc_and_mingw_dlls|MSVC and MinGW DLLs _ MinGW]] {{ :probleme:liaison:mingw_vs:msvc_and_mingw_dlls_mingw_2019-10-30_15_55_39_.html |Archive du 26/02/2009 le 30/10/2019}}
probleme/liaison/mingw_vs.1505068516.txt.gz · Dernière modification : 2017/09/10 20:35 de root