2017-08-16 59 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(); 

現在該功能即使在文件範圍之外也是可見的。

相關問題