Erreurs lors de la liaison à protobuf 3 sur MS Visual C

Rencontrés sur Visual Studio 2013, mais c'est reproductible avec n'importe quelle version.

J'ai cloné le protocole de la mémoire tampon de bibliothèque à partir de github, couru CMake-gui (j'ai tout laissé par défaut, donc c'est la version statique), seulement construit libprotobuf (autre projet a échoué pour une raison quelconque, cmd.exe erreur, pourrait avoir quelque chose à voir avec les tests, mais libprotobuf construit fine).

Mon projet utilise des en-têtes généré avec le .proto fichier trouvé sur le mapbox vecteur de tuiles spec github.

Quand j'ai le lien, j'ai d'abord avoir cette erreur

Error 1 error C4996: 'std::_Copy_impl': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators' s:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility

J'ai essayé de le désactiver avec -D_SCL_SECURE_NO_WARNINGS supplémentaires dans les arguments de ligne de commande, mais j'ai d'autres erreurs:

Error 1 error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in main.obj S:\eiogit3\misc-projs\mapload\mapload\libprotobufd.lib(common.obj)

Donc, vous avez construit libprotobuf version statique (.lib) en utilisant CMake, et maintenant vous essayez de lien dans votre VStudio application?
Oui, je l'ai construit avec MSVC 2013, et je suis maintenant en le reliant à mon projet, également à l'aide de MSVC 2013
ici est le fichier de projet

OriginalL'auteur jokoon | 2016-01-31