2010-11-25 33 views
1

En utilisant gcc 4.5.0 sous MinGW, j'essaye de construire un exécutable console Windows qui lie à une bibliothèque statique créée avec Visual Studio. La bibliothèque statique semble avoir des dépendances sur les symboles Visual Studio qui ne sont pas disponibles sous MinGW. Messages d'erreur:MinGW référence non résolue lors de la liaison avec la bibliothèque statique générée Visual Studio

undefined reference to `_ftol2_sse' 
undefined reference to `_allmul' 

est-il pour remplacer ces fonctions sous MinGW ou cela peut en fixe en définissant un indicateur de liaison supplémentaire?

+0

Juste pour clarifier, c'est une vraie bibliothèque statique construite avec msvc et non une bibliothèque d'importation à une DLL correcte? Si tel est le cas, y aurait-il des problèmes avec une différence d'ABI entre MinGW et msvc? – greatwolf

+0

Oui, c'est une vraie bibliothèque statique. – sakra

Répondre

0

Vous devrez établir un lien explicite avec la bonne version du runtime MSVC. GCC utilise par défaut une version différente.

+0

Comment faire cela (je ne suis pas un expert MinGW)? – sakra

+0

Habituellement, en incluant le chemin (absolu ou relatif à) les dll sur l'appel de gcc. – Joshua

+0

J'ai essayé de lier aux bibliothèques d'exécution alternatives suivantes msvcr70 msvcr71 msvcr80 msvcr90, mais l'erreur ne disparaît pas. – sakra