Delphi Seattle, Ошибка компиляции: модуль F2051 System.SysUtils был скомпилирован с другой версией "".GetMappedFileName

С тех пор произошло нечто странное.

Проблема:

Я всегда получаю сообщение "Ошибка компиляции: модуль F2051 System.SysUtils был скомпилирован с другой версией".GetMappedFileName ". Точная строка кода не указана. Также та же проблема, если я создаю простой проект с одним вызовом команды sysutils.

Наша ситуация: я и мой коллега работаем над одним проектом. Мы используем JEDI для обмена нашими источниками и отслеживания изменений.

Последнее, я скачивал его измененные источники. Все прошло хорошо, и я был готов идти дальше.

Я обновил все мои файлы и попытался скомпилировать, собрать и запустить новые источники на моем компьютере.

Тогда это стало странным. При компиляции я получил эту ошибку:

F2051 Unit System.SysUtils was compiled with a different version of "".GetMappedFileName

Я проверил наши версии стандартных библиотек Delphi, а также версии других установленных компонентов, и все совпадает. Тогда я пошел на интернет-шоппинг. Я нашел несколько похожих проблем, но ни одно из возможных решений не помогло мне...

Вот некоторые вещи, которые я пробовал:

  • настроить небольшой простой проект только с функцией beep из sysUtils
  • ремонт дельфи сиэтл
  • Посмотрел мой путь к библиотеке, путь просмотра,...
  • Очистил dcu от моего проекта

Я также попытался выполнить поиск "dir /s", чтобы найти разные (неправильные?) Версии System.SysUtils.*

Найдено.PAS

  • 1 для каждой установленной версии, 14, 15, 16, 17 (не из 14, 15 или 16 в моих путях
  • C: \ ProgramData {0DE47792-19BD-4AF4-B9CF-6378FBA44825}\sourcefileswin32\E1F130EB\D08CA8BE
  • C: \ Users \ All
    Пользователи {0DE47792-19BD-4AF4-B9CF-6378FBA44825}\sourcefileswin32\E1F130EB\D08CA8BE

Найдено.DCU

  • Для всех версий (14, 15, 16, 17)
  • Для каждой системы экспорта (Android, IOS,..)
  • Также в ProgramData
  • Также во всех пользователях

Вы можете найти мою библиотеку и путь просмотра в конце этого поста.

Некоторые интернет-сайты, на которых я пытался решить эту проблему:

У кого-нибудь есть идея или ключ, чтобы выбраться из этого. Потому что я не могу продолжать ни один из моих проектов, так как это произошло.


Это мой путь к библиотеке для Win32:

$(BDS)\Imports;
$(BDS)\LIB;
$(BDS)\Bin;
$(BDSCOMMONDIR)\Bpl;
$(BDSCOMMONDIR)\Dcp;
$(BDS)\include;
C:\Program Files (x86)\Neos Eureka S.r.l\EurekaLog 7\Lib\Common\;
C:\Program Files (x86)\Neos Eureka S.r.l\EurekaLog 7\Lib\Win32\Release\Studio23\;
C:\Program Files (x86)\Neos Eureka S.r.l\EurekaLog 7\Source\Extras;
$(BDS)\RBuilder\Lib\Win32;
C:\sources\Utilities;
C:\Program Files (x86)\Embarcadero\synaps\source\lib;
C:\Program Files (x86)\Embarcadero\Components;
C:\Program Files (x86)\Embarcadero\EmbeddedWB\Source;
C:\Program Files (x86)\Embarcadero\Ruler;
C:\Program Files (x86)\Embarcadero\paxCompilerXE10\package;
C:\Program Files (x86)\Embarcadero\Studio\17.0\source\rtl\win;
C:\Program Files (x86)\Devart\UniDAC for RAD Studio 10\Lib\Win32;
c:\program files (x86)\embarcadero\tms pack for firemonkey\win32;
C:\Program Files (x86)\Embarcadero\fgx_XE8\Library;$(DXVCL)\Library\RS23;
C:\Program Files (x86)\Embarcadero\RTC;
C:\Program Files (x86)\Embarcadero\Studio\17.0\lib\win32\release   

Это мой путь просмотра:

$(BDS)\source\rtl;
$(BDS)\SOURCE\RTL\SYS;
$(BDS)\source\rtl\win;
$(BDS)\source\rtl\common;
$(BDS)\SOURCE\VCL;
$(BDS)\SOURCE\XML;
$(BDS)\source\ToolsAPI;
$(BDS)\SOURCE\PROPERTY EDITORS;
$(BDS)\source\Internet;
$(BDS)\SOURCE\VCL\AppAnalytics;
$(BDS)\SOURCE\IBX;
$(BDS)\source\soap;
$(BDS)\source\Indy10\Core;
$(BDS)\source\Indy10\System;
$(BDS)\source\Indy10\Protocols;
$(BDS)\source\fmx;
$(BDS)\source\databinding\components;
$(BDS)\source\databinding\engine;
$(BDS)\source\databinding\graph;
$(BDS)\source\data;
$(BDS)\source\data\ado;
$(BDS)\source\data\bde;
$(BDS)\source\data\cloud;
$(BDS)\source\data\datasnap;
$(BDS)\source\data\dbx;
$(BDS)\source\data\dsnap;
$(BDS)\source\data\Test;
$(BDS)\source\data\vclctrls;
$(BDS)\source\data\datasnap\connectors;
$(BDS)\source\data\datasnap\proxygen;
$(BDS)\source\DataExplorer;
$(BDS)\source\DUnit\Contrib\DUnitWizard\Source\Common;
$(BDS)\source\DUnit\Contrib\DUnitWizard\Source\Common\dunit;
$(BDS)\source\DUnit\Contrib\DUnitWizard\Source\DelphiExperts\Common;
$(BDS)\source\DUnit\Contrib\DUnitWizard\Source\DelphiExperts\DUnitProject;
$(BDS)\source\DUnit\Contrib\DUnitWizard\Source\DelphiExperts\DUnitProject\dunit;
$(BDS)\source\DUnit\src;
$(BDS)\source\DUnit\tests;
$(BDS)\source\Experts;
$(BDS)\source\indy\abstraction;
$(BDS)\source\indy\implementation;
$(BDS)\source\indyimpl;
$(BDS)\source\LiveTile;
$(BDS)\source\Property Editors\Indy10;
$(BDS)\source\soap\wsdlimporter;
$(BDS)\source\Visualizers;
$(BDS)\source\xtab;
$(BDS)\source\DUnit\Contrib\XMLReporting;
$(BDS)\source\DUnit\Contrib\XPGen;
$(BDS)\source\data\rest;
$(BDS)\source\data\firedac;
$(BDS)\source\tethering;
$(BDS)\source\DUnitX;
$(BDS)\source\data\ems;
$(BDS)\source\rtl\net;
$(BDS)\source\FlatBox2D;
$(BDS)\OCX\Servers;
C:\Program Files (x86)\Neos Eureka S.r.l\EurekaLog 7\Source\;
$(DXVCL)\ExpressCore Library\Sources;
$(DXVCL)\XP Theme Manager\Sources;
$(DXVCL)\ExpressGDI+ Library\Sources;
$(DXVCL)\ExpressCommon Library\Sources;
$(DXVCL)\ExpressLibrary\Sources;
$(DXVCL)\ExpressPageControl\Sources;
$(DXVCL)\ExpressDataController\Sources;
$(DXVCL)\ExpressEditors Library\Sources;
$(DXVCL)\ExpressWizard Control\Sources;
$(DXVCL)\ExpressBars\Sources;
$(DXVCL)\ExpressDocking Library\Sources;
$(DXVCL)\ExpressLayout Control\Sources;
$(DXVCL)\ExpressSpreadSheet\Sources;
$(DXVCL)\ExpressExport Library\Sources;
$(DXVCL)\ExpressQuantumTreeList\Sources;
$(DXVCL)\ExpressQuantumGrid\Sources;
$(DXVCL)\ExpressVerticalGrid\Sources;
$(DXVCL)\ExpressMemData\Sources;
$(DXVCL)\ExpressSpellChecker\Sources;
$(DXVCL)\ExpressTile Control\Sources;
$(DXVCL)\ExpressNavBar\Sources;
$(DXVCL)\ExpressSkins Library\Sources;
$(DXVCL)\ExpressPrinting System\Sources;
$(DXVCL)\ExpressPivotGrid\Sources;
$(DXVCL)\ExpressDBTree Suite\Sources;
$(DXVCL)\ExpressOrgChart\Sources;
$(DXVCL)\ExpressFlowChart\Sources;
$(DXVCL)\ExpressMap Control\Sources;
$(DXVCL)\ExpressScheduler\Sources;
$(DXVCL)\ExpressRichEdit Control\Sources;
$(DXVCL)\ExpressGauge Control\Sources

1 ответ

Решение

Проблема решена. В пути к библиотеке был один экземпляр, ответственный за проблему.

Я отключил "C:\Program Files (x86)\Embarcadero\Studio\17.0\source\rtl\win;" из библиотеки и все вроде работает сейчас.

Теперь моя задача - выяснить, почему этот файл был в моей библиотеке от моего предшественника, и попытаться выяснить, есть ли в этом каталоге какие-либо "странные" файлы pas / dcu, поэтому он должен быть указан в пути. Но теперь это моя работа, спасибо всем, кто помог мне с отправкой подсказок, чтобы решить ее.

Итак, похоже, что я потерял много времени, сначала искал другие вещи вместо того, чтобы отключить 1 на 1 экземпляров в моем пути к библиотеке. Это совет на сегодня:-)

Другие вопросы по тегам