簡體   English   中英

同一解決方案中不同項目之間的引用(Visual Studio 2012)

[英]Reference between different projects in the same solution (Visual Studio 2012)

我無法獲得此參考資料。 我的解決方案中有2個項目。 包裝外觀和服務器:

在此處輸入圖片說明

我在其他包含目錄中的“包裝外觀”路徑中添加了路徑:服務器屬性頁->配置屬性-> C / C ++->常規。

似乎可行,因為當我將它們包含在Server項目中時,智能可以找到正確的.h文件。

在此處輸入圖片說明

問題是,當我嘗試從Wrapper外觀初始化類時,遇到了一些無法解決的LINK問題。 它們看起來像圖像上的。

在此處輸入圖片說明

你能幫我嗎?

BR

您的鏈接器錯誤表明您的SOCK_Stream類未使用正確的dllimport / dllexport宏標記。

有許多解決此問題的方法。 這只是一個基本方法

1)在您的SOCK_Stream類標題中添加宏:

#ifdef BUILDING_SOCK_STREAM
    #define SOCK_STREAM_DLL  __declspec(dllexport)
#else
    #define SOCK_STREAM_DLL  __declspec(dllimport)
#endif 

2)用SOCK_STREAM_DLL宏標記您的SOCK_Stream類

class SOCK_STREAM_DLL SOCK_Stream {
...
};

3)在WrapperFacade項目中定義BUILDING_SOCK_STREAM符號(配置屬性-> C / C ++->預處理程序->預處理程序定義)

目的是使WrapperFacade從Server項目中導出要鏈接的符號。 通過不在服務器中定義BUILDING_SOCK_STREAM,宏將默認為__declspec(dllimport)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM