Reputation: 511
Getting many versions of the following linker error in XE5.
[ilink32 Error] Error: Unresolved external '__stdcall System::UnicodeString::~UnicodeString()' referenced from <Location>
From everything I've read so far, this seems like I have something wrong with my include structure in the project settings and have no access to where all the string methods are actually defined, but for the life of me, I cannot figure out where these are supposed to be.
Upvotes: 0
Views: 1270
Reputation: 597941
This problem has nothing to do with includes. Include problems only affect the compiler. Your project is using the UnicodeString
class, so the compiler generates references to UnicodeString
's methods based on how they are declared in ustring.h
, and that keeps the compiler happy.
You are getting a linker error instead, because it cannot resolve the references that the compiler generated. That means your project is missing a required reference to Embarcadero's RTL library that implements the actual UnicodeString
method bodies. That likely suggests your project was created/imported incorrectly to begin with, or has become corrupted. You may have to recreate the project from scratch so the default library references are used, and re-add your existing code files to that new project.
Upvotes: 1