在XE5中获得以下链接器错误的许多版本。
[ilink32 Error] Error: Unresolved external '__stdcall System::UnicodeString::~UnicodeString()' referenced from <Location>
从到目前为止的所有内容看,似乎我的项目设置中的包含结构有问题,无法访问所有字符串方法的实际定义位置,但是对于我自己,我无法确定在哪里这些应该是。
最佳答案
此问题与包含无关。包含问题仅影响编译器。您的项目使用的是UnicodeString
类,因此编译器会根据在UnicodeString
中声明的方式生成对ustring.h
方法的引用,这会使编译器保持满意状态。
相反,您得到的是链接器错误,因为它无法解析编译器生成的引用。这意味着您的项目缺少对实现实际UnicodeString
方法主体的Embarcadero RTL库的必需引用。这可能表明您的项目一开始创建/导入不正确,或者已损坏。您可能必须从头开始重新创建项目,以便使用默认的库引用,然后将现有代码文件重新添加到该新项目中。