'Public symbol '__tpdsc__ void' defined in both module X and Y

Using C++ Builder 11.

I split some files up (in a project that built fine so far) and added them to the project individually.

Since then, and only when compiling 32-bit (not 64 bit), I get this weird warning:

[ilink32 Warning] TCTargets110.Targets(746, 5): Warning: Public symbol '__tpdsc__ void' defined in both module D:\MYPROJECTS\MYPROJECT\CB11\TEMP\WIN32-DEBUG\MYREADCRUMBBAR.OBJ and D:\MYPROJECTS\MYPROJECT\CB11\TEMP\WIN32-DEBUG\MAIN.OBJ

I have spent hours already trying to figure out what is triggering this. Very slow compiles are not helping of course. Aside from the warning the code appears to execute properly

The code builds fine using C++ Builder 2009

Anybody ANY idea ? I'm tempted to simply revert this change but I'd like to understand this issue better first.

PS. this relates to a custom control that derives from TCustomControl

Scares information online seems to hint at destructors, virtual and __fastcall, my destructor looks like this:

virtual __fastcall ~MyBreadcrumbBar() {}


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source