XE5 Ansi / Unicode-String Linker Ошибки (Неразрешенные внешние)

Получение многих версий следующей ошибки компоновщика в XE5.

[ilink32 Error] Error: Unresolved external '__stdcall System::UnicodeString::~UnicodeString()' referenced from <Location>

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

0

Решение

Эта проблема не имеет ничего общего с включениями. Включить проблемы влияют только на компилятор. Ваш проект использует UnicodeString класс, поэтому компилятор генерирует ссылки на UnicodeStringметоды, основанные на том, как они объявлены в ustring.hи это делает компилятор счастливым.

Вы получаете линкер вместо этого, потому что он не может разрешить ссылки, сгенерированные компилятором. Это означает, что в вашем проекте отсутствует обязательная ссылка на библиотеку RTL Embarcadero, которая реализует фактическую UnicodeString метод тел. Вероятно, это говорит о том, что ваш проект изначально был создан / импортирован неправильно или поврежден. Возможно, вам придется пересоздать проект с нуля, чтобы использовались ссылки на библиотеки по умолчанию, и повторно добавить существующие файлы кода в этот новый проект.

1

Другие решения

Других решений пока нет …