l'éditeur de liens de mémoire LNK1102
Mes collègues et moi avons essayé de construire un projet contenant plusieurs milliers de classes , mais nous sommes un LNK1102 erreur ( de l'éditeur de liens de mémoire ) . J'ai vu plusieurs conseils sur l'internet , telles que l'augmentation de la mémoire virtuelle . Nous avons essayé, mais cela n'a pas aidé . Nous avons aussi vu que l'activation des différents niveaux d'avertissement lors de la compilation du code . Un gars a suggéré permettant de niveau 4 pour les avertissements .
Comment peut-on le faire ? Existe-il d'autres suggestions ?
La langue qui êtes-vous de la compilation et de l'outil de version?
nous sommes bâtiment du code C++, à l'aide de Windows Embedded CE 6.0 Platform Builder .
Probablement préférable de ne pas appeler cela "Windows" - c'est normalement interprété comme le x86/x64 produit.
Par "l'augmentation de la mémoire virtuelle", parlez-vous le /3 GB drapeau et amis (msdn.microsoft.com/en-us/library/ms791558.aspx)?
nous sommes bâtiment du code C++, à l'aide de Windows Embedded CE 6.0 Platform Builder .
Probablement préférable de ne pas appeler cela "Windows" - c'est normalement interprété comme le x86/x64 produit.
Par "l'augmentation de la mémoire virtuelle", parlez-vous le /3 GB drapeau et amis (msdn.microsoft.com/en-us/library/ms791558.aspx)?
OriginalL'auteur Vhaerun | 2008-10-06
Vous devez vous connecter pour publier un commentaire.
J'ai juste eu le même problème lors de la compilation du C:
Solution pour moi a été: suppression de tous les *.pdb (DEBUG) des fichiers.
Après cela, tout était lié sans problèmes. Donc probablement un fichier pdb a des défauts dans mon cas - défaut d'une drôle de façon de causer cette erreur d'éditeur de liens.
OriginalL'auteur Gerrit
Projet (clic droit) → Propriétés → Propriétés de Configuration → éditeur de liens → Optimisation → Références → changement de Garder non référencées Données
Travaillé sur ma machine!
OriginalL'auteur Peter Goras
Si le projet est trop grand puis les diviser en plusieurs composantes.
Cela pourrait aussi aider avec l'entretien.
Compréhensible. Il a besoin de temps et de travail.
OriginalL'auteur HS.
Si vous êtes en cours d'exécution sur une machine windows, ouvrez le gestionnaire des tâches tout en faisant un lien et aller à la page de performance.
Si vous voyez le fichier de page de l'utilisation croissante jusqu'à sa complète, puis augmenter la taille de celui-ci à au moins le double de la ram.
Si le fichier de page n'est pas remplir avant qu'il ne déclenche l'erreur, puis assurer qu'il ya suffisamment d'espace disque sur la machine.
OriginalL'auteur Jimoc
Je soupçonne que l'éditeur de liens prend également beaucoup de temps pour terminer. Depuis que vous dites il y a des milliers de classes c++, ma première pensée a été de vérifier si il y a beaucoup de inline méthodes de la classe.
Essayez ceci:
Choisir un tas de classes qui sont les plus utilisés, de faire toutes les méthodes inline non en ligne par le déplacement de l'en-tête de fichier pour le fichier d'implémentation. J'ai connu des changements drastiques dans les temps de lien. Un projet, nous avons passés de 15 minutes de pur reliant à seulement 30 secondes. Cela devrait également affecter la mémoire du processus de liaison.
Bonne chance!
//Magnus
OriginalL'auteur ralphtheninja
Si vous utilisez Visual C++ 6.0, éviter le chargement de l'espace de travail à partir d'un "subst" lecteur ou le "réseau mappé". La copie du projet de "C:\temp\MyProject\" le dossier, et le chargement de l'espace de travail à partir de cet emplacement, fait le "LNK1102" erreur d'aller loin pour moi cette fois.
Espère que cela aide!
OriginalL'auteur loufor1
Exécuter la version 64 bits de l'éditeur de liens? Inconvénient: vous aurez un amd64 exécutable.
(Contrairement à l'32->64 crosscompilation d'outils, il n'est pas 64->32 bits d'outils)
OriginalL'auteur MSalters
J'ai eu la même erreur lors de la construction incrémentale d'un grand projet dans VS 2008. Je viens de Nettoyer le projet, de supprimer tous les *.ilk, *.dll, *.exe et *.fichiers pdb et en a construit de nouveau.
OriginalL'auteur Alex Medveshchek
Certainement surveiller l'utilisation réelle de la mémoire dans le gestionnaire des tâches, tout en les reliant. Fermez les autres programmes pour augmenter votre mémoire physique disponible et configurer votre fichier de page de 4092 mo en taille, si possible.
Aussi, il peut être utile de créer un lien repro. Cela permettra à d'autres personnes pour essayer de reproduire votre lien de questions sur d'autres machines.
OriginalL'auteur Wedge
J'ai eu ce
fatal error LNK1102: out of memory
erreur et résolu par à l'aide de 64bits compilateur et l'éditeur de liens. Vous définissez une variable d'environnement:puis exécutez Visual Studio.
OriginalL'auteur Pablo H