XE5 Ansi/Unicode字符串链接器错误(未解决的外部)

XE5 Ansi/Unicode-String Linker Errors (Unresolved Externals)

本文关键字:未解决 外部 错误 Ansi Unicode 字符串 链接 XE5      更新时间:2023-10-16

在XE5中获取以下链接器的多个版本时出错。

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

从我目前所读到的所有内容来看,我在项目设置中的include结构似乎有问题,并且无法访问所有字符串方法的实际定义位置,但就我而言,我无法弄清楚这些方法应该在哪里。

这个问题与include无关。包含问题只会影响编译器。您的项目使用的是UnicodeString类,因此编译器会根据ustring.h中声明UnicodeString方法的方式生成对它们的引用,这会让编译器感到满意。

您将得到一个链接器错误,因为它无法解析编译器生成的引用。这意味着您的项目缺少对Embarcadero的RTL库的必需引用,该库实现了实际的UnicodeString方法体。这可能表明您的项目一开始创建/导入不正确,或者已损坏。您可能需要从头开始重新创建项目,以便使用默认的库引用,并将现有的代码文件重新添加到该新项目中。