Comment puis-je mettre à jour mon projet de C++ dans Visual Studio 2015 pour utiliser le nouveau Universel CRT?
Après VS2015 mise à jour de mon projet pour la nouvelle Plate-forme d'outils v140, il ne parvient pas à construire en raison d'une erreur de l'éditeur de liens : LNK1104 ne peut pas ouvrir un fichier " libucrt.lib'.
Il semble que cette bibliothèque a été déplacé autour en raison de la nouvelle Universelle CRT comme mentionné dans cet article : http://blogs.msdn.com/b/vcblog/archive/2015/03/03/introducing-the-universal-crt.aspx?PageIndex=2.
Tandis que l'article ne me dire ce que je devrais lien vers maintenant, il ne fournit pas d'instructions.
Ma Solution génère un .exe et une .dll il utilise. Je ne sais pas quoi faire avec la matrice de l'article décrit ci-dessous.
Version Dll (/MD ): msvcrt.lib vcruntime.lib ucrt.lib
Version Statique (/MT ): libcmt.lib libvcruntime.lib libucrt.lib
J'ai sélectionné ma solution à partir de l'Explorateur de solutions, et de "ré-armé", je crois que c'était le terme, qui reconfiguré à chaque projet pour le nouveau compilateur. J'ai ensuite ajouté $(UniversalCRT_IncludePath) à d'autres Incluent des Directives dans leurs propriétés de configuration.
Avez-vous aussi ajouter des
$(UniversalCRT_LibraryPath_*)
(en fonction de votre processeur cible) sur le lien paramètres?Je n'avais pas, et qui a résolu le problème. Merci! Si vous présentez ça comme réponse, je vais l'accepter.
Êtes-vous à l'aide de Visual Studio 2015 RC ou RTM? Nous avons fait quelques ajustements dans le RTM sur les cibles pour essayer de réduire l'impact des répertoires de changement. Si vous êtes à l'aide de Visual Studio 2015 RTM, seriez-vous prêt à partager [1] ce que votre IncludePath et Chemin_accès_librairie sont définies dans le cadre de votre projet ou [2] pourriez-vous partager l'ensemble du fichier de projet avec nous? Nous sommes intéressés à comprendre quels types de fichiers de projet ne sont pas de ramasser les nouveaux paramètres par défaut. (Vous pouvez m'envoyer un mail à [email protected] si vous le souhaitez.)
OriginalL'auteur Jesse Meyer | 2015-07-20
Vous devez vous connecter pour publier un commentaire.
Lorsque vous convertissez votre projet, vous devez assurez-vous de mettre à jour le comprend ET l'éditeur de liens paramètres pour pointer vers le nouveau CRT.
Pour comprend, ajoutez la ligne suivante:
Pour le lien, ajouter l'une des opérations suivantes selon votre processeur cible:
OriginalL'auteur Ryan Bemrose
La variable intégrée
$(LibraryPath)
résout à tous la bibliothèque des chemins nécessaires pour construire une application dans Visual Studio, y compris UCRT chemins de VS 2015.Remarque: vous pouvez mettre à jour le chemin de l' ainsi, le portable variable intégrée pour ce qui est:
$(IncludePath)
.Ou mieux encore, si vous n'avez pas besoin de la bibliothèque ou de chemin de personnalisation, est d'utiliser les valeurs par défaut (sélectionnez
<inherit from parent or defaults>
).Remarque 2: vous pouvez ajuster les chemins pour plusieurs projets et plusieurs cibles en même temps, il suffit de sélectionner plusieurs projets, puis sélectionnez "propriétés".
OriginalL'auteur rustyx
J'ai téléchargé le SDK 10.0.10586.0, qui contient maintenant la bibliothèque libucrt.lib dans C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10586.0\ucrt\x64. Mais je n'arrive pas à l'éditeur de liens pour localiser cette bibliothèque; il utilise 10240 (la version précédente installée).
Les macros visées ci-dessus, $(Chemin_accès_librairie) et $(UniversalCRT_LibraryPath_x64), les deux se réfèrent à C:\Program Files (x86)\Windows Kits\10\lib\10.0.10240.0\ucrt\x64. Je ne sais pas comment faire pour modifier les valeurs de ces macros, qui sans doute est nécessaire pour obtenir de l'éditeur de liens pour utiliser la bibliothèque digne de ce nom.
Windows 7 Pro 64 bits de Visual Studio 2015 mise à jour 1. Reliant les bibliothèques statiques, C++ et Intel Fortran projet.
Ok j'ai trouvé un lien qui décrit ce qu'il faut faire: msdn.microsoft.com/en-us/library/mt186161.aspx donc, fondamentalement, à droite, cliquez sur la solution et a choisi le "Reciblage solution" et sélectionnez la bonne version du SDK.
Comment savez-vous où la bibliothèque variable de points? Je ne vois pas de ces définitions n'importe où, et la mienne ne fonctionne pas.
OriginalL'auteur Woody20
Par défaut si vous compilez votre projet avec vs2015, Universel CRT être en cours d'utilisation. (Rien de spécial qui doit être fait)
Mais si vous voulez lier statiquement (et de se débarrasser de ucrt dépendance) - lire cet article:
Visual studio 2015 au moment de l'exécution des dépendances ou comment se débarrasser de l'Universel CRT?
OriginalL'auteur TarmoPikaro