调用从另一个动态链接库项目静态库函数
问题描述:
我有一个静态库,它有像它的头文件下的一类:调用从另一个动态链接库项目静态库函数
namespace MyNameSpace
{
class MyClass
{
public:
void Something();
};
}
我上面的静态库链接和我的另一个动态链接库项目,现在我可以调用上面的函数象下面这样:
int Main()
{
MyNameSpace::MyClass A;
A.Something();
}
尽管上述工作得很好,我喜欢用我的静态库的功能类似下面,而不是宣告类:
int Main()
{
MyNameSpace::Something();
}
但我想知道正确的方法来做到这一点。
我想它像静态库:
namespace MyNameSpace
{
void Something();
}
和静态库链接到动态库后,试图利用它的功能,如:
MyNameSpace::Something();
但是,智能感知没有按”没有看到它,我已经包含了我的静态库的头文件并正确地链接了它。
我想要做的是在类之外的静态库中声明一个函数,并使其链接到的其他项目可见。在这种情况下,动态库。
在此先感谢。
答
我终于能够通过声明功能类似下面做我想做什么:
在静态库:
namespace MyNameSpace
{
void Something();
}
在动态链接库:
MeNameSpace::Something();
现在该功能即使在文件范围之外也是可见的。
当你说你“链接”静态库时,你的意思是你把它链接到动态库或最终的可执行文件? – Frank
不,链接到动态库。最终可执行文件不使用此功能。该功能仅用于动态库。我不得不建立一个单独的静态库,因为我必须处理SEH的缺陷。 : - \ – GTAVLover