2012-02-27 2 views
1

Je suis en train de créer dll avec 'yaml-cpp-0.3.0' sous Visual Studio 2005 8 et obtenir une erreur de liaison pour 'INSTALLATION', '' effectuer des tests-yaml C++ dll sous visual studio

Erreur 1 erreur LNK2019: symbole externe non résolu "void __cdecl YAML :: operator >> (classe YAML :: Node const &, classe YAML :: Binaire &)" (?? 5YAML @@ YAXABVNode @ 0 @ AAVBinary @ 0 @@ Z) référencé dans la fonction "public: class YAML :: Binaire const __thiscall YAML :: Node :: à (void) const" (?? $ à @ VBinary @ YAML @@@ Node @ YAML @@ QBE? BVBinary @ 1 @ XZ) parsertests.obj

Erreur 2 erreur fatale LNK1120: 1 externals non résolus .... \ yaml- cpp_dll \ build \ test \ Debug \ gestion tests.exe 1

en utilisant les étapes générales mentionnées par l'utilisateur à http://code.google.com/p/yaml-cpp/issues/detail?id=88

  1. cd yaml-cpp pour 'yaml-cpp-0.3.0'
  2. mkdir construire
  3. cd construire
  4. cMake -DBUILD_SHARED_LIBS = ON -G "Visual studio 2005 8" ..

Vous cherchez de l'aide pour résoudre ce problème. Toutes les entrées sont appréciées.

+1

Cela ressemble à un bug. J'ai déposé un rapport sur les problèmes (http://code.google.com/p/yaml-cpp/issues/detail?id=152) et vous pouvez suivre ses progrès. Je vais essayer d'y arriver cette semaine. –

Répondre

2

J'ai eu la même erreur de liaison avec Visual Studio 9 2008. Le problème est que l'opérateur >> déclaré dans binary.h n'est pas exporté. Après avoir fait les modifications suivantes dans binary.h tout a bien fonctionné:

#include "yaml-cpp/dll.h" // add a new include to have YAML_CPP_API defined 

... 

// add the missing YAML_CPP_API 
YAML_CPP_API void operator >> (const Node& node, Binary& binary); 
Questions connexes