2010-03-16 4 views
1

Je convertir un projet de VS2008 à VS2010 et obtenir des erreurs de l'éditeur de liens pour std: ifstream/ofstreamstd :: erreur de lien iostream VS2010 RC1

error LNK2001: unresolved external symbol "__declspec(dllimport) public: bool __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::is_open(void)const " ([email protected][email protected][email protected]@[email protected]@@[email protected]@QBE_NXZ) 

bâtiment statique (/ MT) ou dll (/ MD) avec unicode ou standard et release/debug donne la même erreur. L'ajout manuel de libcpmtd.lib (statique) ou de msvcprtd.lib (dll) à l'éditeur de liens n'aide pas.

Est-ce que quelqu'un d'autre a déjà vu ça?

Répondre

1

Si vous ne recevez pas de réponse à ce problème particulier, il y a une approche de force brute que je l'ai utilisé avec succès:

l'aide de Visual Studio 2010, créez un nouveau projet du même type un dossier temporaire quelque part (utilisez le même nom de projet et de solution) et assurez-vous d'utiliser les mêmes options que votre projet VS2008.

À ce stade, vous pouvez simplement comparer le nouveau fichier de projet VS2010 avec le fichier de votre projet VS2008 existant en utilisant un outil de comparaison visuelle (J'aime BeyondCompare). Les fichiers de projet sont en XML, il est donc assez facile de les comparer visuellement. De cette comparaison, je peux généralement dire quelles bibliothèques et autres options doivent changer. Si l'ancien fichier projet contient trop de modifications (ce qui rend la comparaison difficile), répétez les étapes ci-dessus (en utilisant VS2008 cette fois-ci) pour créer un autre projet plain-jane, en l'écrivant dans un emplacement temporaire différent.

Vous devriez maintenant être en mesure de comparer les fichiers de projet VS2008 et VS2010 pour voir quels sont les paramètres de comple et de lien différents.

+0

Merci espérait éviter cela - c'est un projet complexe –