La liaison échoue Fatal: impossible d’ouvrir le fichier ‘TYPES.OBJ’

J’ai mis à jour le code d’une ancienne version de projet héritée utilisant C ++ Builder 2010 pour comstackr avec C ++ Builder 10 Seattle . J’ai surtout dû changer de chemin, beaucoup de dupIgnore à TDuplicates::dupIgnore , réimporter des composants comme MSXML et MSMQ etc.

Tout d’abord pour un groupe de sous-projets que le projet principal utilise sous la forme de bpl et de dll et enfin le code du projet principal est compilé.

Mais … ça échoue à un lien: P

 [ilink32 Error] Fatal: Unable to open file 'TYPES.OBJ' 

J’ai essayé de trouver des informations sur des problèmes potentiels et beaucoup mentionnent que le System est fourni dans la scope de l’ unité sous les parameters du compilateur Delphi . Mais c’est déjà présent pour ce projet. Qu’est-ce qui pourrait causer cela?

Pour information. Compilé en utilisant “classique” compilateur bcc32 pour le moment.

Inclure le chemin:

$(BDSINCLUDE)\windows\vcl;$(BDSINCLUDE)\dinkumware;

Chemin de la bibliothèque:

 $(BDSLIB)\$(PLATFORM)\$(Config);$(BDSLIB)\$(PLATFORM)\Release\psdk; 

Je suivrais les conseils donnés par Tim D en premier. Chaque fois que je commence à utiliser une version plus récente d’un compilateur, 90% de l’importation d’anciens projets est due directement à des fichiers de code / en-tête / object et à la création d’une version vierge.

Après m’être assuré que les données avaient été créées correctement, puis importé vos anciennes données, je vérifierais les problèmes d’incompatibilité hérités. Vous êtes sur le bon chemin en changeant vos “listes”. Je vous recommande également de vous assurer que tout votre code est réécrit pour le nouveau compilateur. Cela aide à la fois la compatibilité du code et la rationalisation de l’exécution du projet fini.

Enfin, je voudrais vérifier que toutes vos données supplémentaires (les fichiers qui ne sont pas du code pur tels que les fichiers d’en-tête) sont toujours reconnaissables au compilateur actuellement utilisé. (L’inheritance peut causer des problèmes.)

On dirait que le compilateur obtient TYPES.OBJ mais pas capable de s’ouvrir car cela peut se produire à cause de plusieurs facteurs (comme C ++ dépend de la plate-forme. TYPES.cpp peut être construit dans un autre OS) .cpp .. Sachez également que les bibliothèques imscopes par ce CPP doivent être compateble même // Si vous obtenez toujours l’erreur, veuillez continuer avec la version complète. leur.

Je pense que vous devriez trouver la chaîne TYPES.OBJ dans tous les fichiers de votre projet, après avoir besoin de supprimer cette chaîne des fichiers trouvés. Avant cela, n’oubliez pas de créer un répertoire de projet de sauvegarde.

J’ai eu un problème similaire lorsque je convertis un ancien projet de BCB5 à BCB 6. Lorsque j’ai supprimé la chaîne avec le nom de fichier “.obj” du fichier de projet avec l’extension “.bpr”, mon problème a été résolu.

La chaîne dans le fichier de projet Project1.bpr était comme:

  

Après modification: