Подтвердить что ты не робот

Сбой связи [ilink32 Ошибка] Fatal: Не удалось открыть файл "TYPES.OBJ"

Я обновляю код fomr старой старой сборки проекта, используя С++ Builder 2010 для компиляции с С++ Builder 10 Seattle. Мне в основном пришлось менять пути, от dupIgnore до TDuplicates::dupIgnore, reimport некоторые компоненты, такие как MSXML и MSMQ и т.д.

Сначала для кучи подпроектов, которые основной проект использует в форме bpl и dll, и, наконец, компилируется код основного проекта.

Но... у него не получается ссылка: P

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

Я попытался найти информацию о потенциальных проблемах, и многие упоминают, что System поставляется в Единице измерения в настройках Delphi Compiler. Но это уже присутствует для этого проекта. Что еще может быть причиной этого?

Для информации. Скомпилирован с использованием "классического" компилятора bcc32.

Включить путь:

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

Путь к библиотеке:

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

Ответ 1

Я бы сначала посоветовал Тим Д. Всякий раз, когда я начинаю использовать более новую версию компилятора, 90% импорта старых проектов связано с тем, что я непосредственно включаю файлы кода/заголовка/объекта и создаю чистую версию, а затем копирую, после чего 99% времени исправляет ее.

Убедившись, что данные были созданы свежими, а затем импортируйте свои старые данные поверх него, я бы посмотрел на устаревшие проблемы несовместимости. Вы находитесь на правильном пути с изменением своих "списков". Я также рекомендую вам убедиться, что весь ваш код переписан для нового компилятора. Это помогает как с совместимостью кода, так и с оптимизацией для запуска готового проекта.

Наконец, я бы проверял, что все ваши дополнительные данные (файлы, которые не являются чистым кодом, такие как файлы заголовков) по-прежнему распознаются также используемым компилятором. (Наследие может привести к тому, что это будет сложно.)

Ответ 2

Похоже, что компилятор получает TYPES.OBJ, но не может открыть его, что может произойти из-за множества факторов (например, C++ зависит от платформы. TYPES.cpp может быть встроен в другую ОС). build TYPES.cpp.. Также имейте в виду, что библиотеки, импортируемые этим CPP, должны быть совместимы даже//Если вы все еще получаете ошибку, пожалуйста, продолжайте полную сборку. Или проверьте link.rsp или используйте команду nm, чтобы найти зависимый объект и сборку все они.

Ответ 3

Я думаю, что вы должны найти строку TYPES.OBJ во всех файлах вашего проекта, после того как вам нужно удалить эту строку из найденных файлов. Перед этим не забудьте сделать резервную копию каталога проекта.

У меня была похожая проблема, когда я конвертировал старый проект из BCB5 в BCB 6. Когда я удалил строку с именем ".obj" из файла проекта с расширением ".bpr", моя проблема была решена.

Строка в файле проекта Project1.bpr была такой:

<OBJFILES value="Unit1.obj Types.obj"/>

после модификации:

<OBJFILES value="Unit1.obj"/>

Ответ 4

Я думаю, что вы должны найти строку TYPES.OBJ во всех файлах вашего проекта, после того как вам нужно удалить эту строку из найденных файлов. Перед этим не забудьте сделать резервную копию каталога проекта.

У меня была похожая проблема, когда я конвертировал старый проект из BCB5 в BCB 6. Когда я удалил строку с именем ".obj" из файла проекта с расширением ".bpr", моя проблема была решена.

Строка в файле проекта Project1.bpr была похожа: после модификации: