2017-08-16 83 views
0

我有一个静态库,它有像它的头文件下的一类:调用从另一个动态链接库项目静态库函数

namespace MyNameSpace 
{ 
    class MyClass 
    { 
    public: 
     void Something(); 
    }; 
} 

我上面的静态库链接和我的另一个动态链接库项目,现在我可以调用上面的函数象下面这样:

int Main() 
{ 
    MyNameSpace::MyClass A; 
    A.Something(); 
} 

尽管上述工作得很好,我喜欢用我的静态库的功能类似下面,而不是宣告类:

int Main() 
{ 
    MyNameSpace::Something(); 
} 

但我想知道正确的方法来做到这一点。

我想它像静态库:

namespace MyNameSpace 
{ 
    void Something(); 
} 

和静态库链接到动态库后,试图利用它的功能,如:

MyNameSpace::Something(); 

但是,智能感知没有按”没有看到它,我已经包含了我的静态库的头文件并正确地链接了它。

我想要做的是在类之外的静态库中声明一个函数,并使其链接到的其他项目可见。在这种情况下,动态库。

在此先感谢。

+0

当你说你“链接”静态库时,你的意思是你把它链接到动态库或最终的可执行文件? – Frank

+0

不,链接到动态库。最终可执行文件不使用此功能。该功能仅用于动态库。我不得不建立一个单独的静态库,因为我必须处理SEH的缺陷。 : - \ – GTAVLover

回答

0

我终于能够通过声明功能类似下面做我想做什么:

在静态库:

namespace MyNameSpace 
{ 
    void Something(); 
} 

在动态链接库:

MeNameSpace::Something(); 

现在该功能即使在文件范围之外也是可见的。