erreur C++ Builder XE5 détectée (LME288)

C++ Builder xe5 [erreur ilink32] erreur: Impossible d'effectuer le lien [avertissement ilink32] Avertissement: Erreur détectée (LME288)

c'est arrivé quand j'ai essayé de compiler un projet de test c++ builder xe5 sur windows xp

6
demandé sur manlio 2014-04-16 15:01:16

10 réponses

J'ai reçu des informations d'Embarcadero qui pourraient aider.

L'erreur "out of memory", erreur. La raison pour "Out Of Memory"" erreurs (qui viennent dans des formes différentes) dans le linker, est que le linker doit pré-affecter la mémoire dans les tas contigus qu'il utilise alors comme il liens, dans le passé ces tas n'ont pas pu être ajustés, nous avons dû faire un meilleur suppose que, dans la nouvelle version 64 bits de l'éditeur de liens (et a également été ajoutée à la version 32 bits linker) nous avons permis aux gens de pouvoir ajuster la taille de ces tas manuellement quand ils avaient besoin d'. Maintenant, la raison pour laquelle ces tas peuvent être un problème est que pas tous les systèmes sont les mêmes, certaines personnes utilisent des logiciels différents qui DLLs dans L'espace d'adresse du linker comme Windows Hook DLLs, antivirus logiciel tous ces DLLs allouer la mémoire à l'intérieur du linker (n'importe quelle application en effet), l'espace d'adressage et a donc un impact sur la taille des tas. l'éditeur de liens peut allouer. Nous avons donc ajouté cette possibilité de régler les tas manuellement, mais nous avons également alloué les amas initiaux assez grands .

le linker 32bit a un nouveau commutateur-GH, voir ci-dessous ce qui est similaire à la interrupteur ilink64.

la syntaxe pour le commutateur est:

-GH[tas name]=[nombre d'octets pour le segment]"

cette option-GH existe à partir de XE3 Update 1 mais n'est évidemment pas documentée?

Pour voir quel tas est sorti de la mémoire, vous pouvez essayer depuis la ligne de commande.

MSBuild /P:Platform=Win32 / v: diag XXXX.cbproj 151910920"

il s'agit de renseignements supplémentaires tels que:

Débordement sur linker tas: le code

Tas De Liants


info 0x002d0000 0x0a000000

code 0x000d0000 0x00100000

données 0x00030000 0x08000000

bss 0x08000000 0x08000000

Fatal: Out of memory

le côté gauche de la sortie ci-dessus est le nombre d'octets utilisés au moment et sur la droite le nombre d'octets alloués pour l'nommé spécifique tas.

les tailles de tas par défaut que le linker attribue au démarrage sont:

"system", taille par défaut 0x08000000

"info", taille par défaut 0x0A000000

"code", taille par défaut 0x08000000

"rodata", taille par défaut 0x06000000 / / readonly data

"data", taille par défaut 0x08000000

"bss", taille par défaut 0x08000000

"tds", taille par défaut 0x0FA00000

quand vous voyez le "tas inconnu" c'est normalement le "tas tds

exemple pour ajuster le tas de tds à 0x0A000000 vous feriez-GHtds=0x0A000000

espérons que cette information vous aidera, vous et les autres, avec L'erreur LME288.

3
répondu Barry Andrews 2017-05-17 17:52:01

j'ai trouvé cette page à la recherche du même problème, et la solution pour moi est un truc simple:

au lieu de de double clic dans le projet pour l'ouvrir (par exemple double clic dans xxxx.cbproj), démarrage de l'ide et ouvrez le projet .

Explication? aucune idée, mais maintenant relier correctement.

1
répondu fvel 2015-02-09 15:01:43

j'ai eu le même problème ici C++ Builder XE7 LME288 Erreur

ma solution était simple pour nettoyer tous les fichiers temporaires. Il semble que l'erreur est connecté avec corrompre les fichiers temporaires.

1
répondu Max Kielland 2017-05-23 12:34:40

je viens d'avoir ce problème avec XE4 sur Windows 10. Fvel m'a mis sur la bonne voie. Le problème était causé par le fait que le dossier était ouvert avec BDSLauncher.exe au lieu de bds.EXE. J'ai mis le programme par défaut .groupproj à bds.exe et le problème a disparu.

1
répondu slimbofat 2017-05-23 11:47:19

j'ai compris.

j'ai eu le même problème avec Seattle 10 sur Windows 7x64. J'ai tout essayé. Tout ce que vous pouvez trouver sur DONC, EDN, et plus encore. J'ai fini par tomber en panne et j'ai utilisé mon billet de support D'Amarcadero parce que je ne pouvais plus rien relier. Après ce que je ne peux décrire comme un effort ardu et courageux de la part d'un des principaux ingénieurs logiciels D'Embarcadero, nous avons finalement trouvé ce correctif:

d'abord, clic droit sur ilink32.EXE, sélectionnez Propriétés, puis allez dans L'onglet compatibilité et cochez la case "Exécuter ce programme en mode Compatibilité pour" et sélectionnez Windows XP SP3. Sur mon système (64 bit Win7, Seattle 10) l'ilink32.le fichier exe est situé dans "C:\Program fichiers (x86)\Amarcadero\Studio\17.0\bin."

Deuxièmement, forcez les droits d'administrateur (même si vous êtes déjà administrateur) en cliquant avec le bouton droit de la souris sur l'icône de lancement du Builder et en sélectionnant "Exécuter en tant qu'administrateur."

Maintenant, ouvrez votre projets et lien vers le contenu de votre cœur! (Les résultats peuvent varier.)

1
répondu Ted 2015-11-25 20:48:52

désactivez votre logiciel de protection AntiVirus pour l'ilink32.exe dans le dossier de la corbeille embarcadero, surtout si vous utilisez bitdefender.

0
répondu Niceman 2014-04-18 16:31:59

les solutions données ici n'ont pas fonctionné pour moi. Ma solution est de définir la taille du fichier d'échange windows à une valeur fixe (par exemple min: 1000 MB et max: 10000). Après avoir redémarré, j'ai vérifié le bouton Radio "System managed size" et redémarré à nouveau. Maintenant je peux compiler et lier sans aucune erreur de linker. Mais L'erreur LME réapparaît après quelques jours. Puis-je effectuer les mêmes étapes avec le fichier d'échange pour résoudre le problème.

0
répondu CHLINDE 2015-08-31 06:29:06

pour moi, dans Windows 10, le problème était qu'il n'y avait pas assez de mémoire virtuelle allouée. Étapes à suivre pour résoudre le problème:

  • Allez à Système > Paramètres Système Avancés > Avancé.
  • sous "Performance", cliquez sur "Paramètres" > Avancé
  • sous mémoire virtuelle cliquez sur 'Change'
  • Assurer la actuellement mémoire allouée est égale ou supérieure à la mémoire recommandée. Sinon, sélectionnez "Taille sur mesure" et de définir la taille initiale à la taille recommandée, et la taille maximale à une plus grande valeur.

Voir aussi C++ Builder XE7 LME288 Error

0
répondu Chris 2017-05-23 12:18:15

pour moi, le problème a commencé quand j'ai activé auto increment build number dans XE7. Le projet que j'avais travaillé pendant plusieurs mois sans problème. Le projet a été créé par une version antérieure de Bâtisseur. Le premier problème qui s'est produit était le problème pour le compilateur pour trouver windows.h, et la même chose pour le compilateur rc. Les chemins ont été mis à jour à des versions invalides par Builder (peut-être ceux-ci étaient de Builder plus tôt). Après avoir ajouté les chemins le LME288 s'est produite. Après commutation du auto increment build number et a enlevé tous les fichiers temporaires, il semble fonctionner à nouveau.

0
répondu Nicko 2017-04-23 14:01:11

j'ai eu le même problème de linker LME288 sur RAD Studio XE7 / Windows 10. Le nettoyage des fichiers temporaires à L'aide de CCleaner l'a corrigé.

Edit: le problème revient sans cesse mais un autre nettoyage le corrige.

0
répondu 8ctopus 2018-08-28 10:16:55