I'm trying to access a private static method from a friend class but get a LINK error. accessing any other privte non-static members and methods works just fine.
NOTE: This question is not on a general unresolved symbol (the DLL does contain the implementation, and we do link with its library). The symbol DOES exist in the DLL but it is exposed as 'private' (if I check it in the dependency-walker) while the linker is looking for 'public' (if I check the decorated name reported by the linker). The problem as I see it is that the linker seems to be ignoreing the friendship when trying to resolve a private static method.
e.g:
class CA
{
friend class CMyFriend;
private:
static void TestedFunc();
};
class CMyFriend
{
public:
static void Tester()
{
CA::TestedFunc();
}
};