2013-04-29 153 views
0

我有幾個庫項目。我有一個解決方案,其中包括這些庫項目和一個應用程序項目。 我的問題是,在鏈接器中,我應該鏈接這些單個項目的調試文件夾中的* .lib文件還是從此解決方案的調試文件夾中鏈接* .lib文件?如果我單擊重新生成,那些庫項目將被編譯爲* .lib,並且將在它們自己的解決方案/調試文件夾和當前的調試文件夾中生成新的* .lib文件。編譯* .lib文件visual studio

我的問題是,如果我將Liker-> General-> Additional Library Directories設置爲它們各自的調試文件夾,並且輸入 - >其他依賴項添加到* .lib文件,Visual Studio將給出一些隨機鏈接器錯誤1104無法打開* .lib文件,但它現在每次都是相同的lib文件,有時是Library1有時是Library2。 如果我保留目錄並將依賴項設置爲所有這些* .obj文件。工作得很好。 如果我通過「U:\ Source \ Applications \ CURRENTSOLUTION \ Debug \ Library1.lib」刪除當前解決方案調試文件中的directores並將相關性設置爲* .lib文件,那麼它工作得很好。

那麼,這是我的圖書館的正確方式?

回答

0

有時是分享幫助有時是Library2

你可能有一個建造順序問題。它正在構建庫之前開始構建您的EXE項目。現有方法的修復方法是右鍵單擊您的EXE項目並選擇「項目依賴項」。勾選圖書館項目。

但優越的解決方案是右鍵單擊EXE項目,屬性,通用屬性,框架和引用。點擊Add New Reference按鈕並勾選庫項目。這不僅負責構建順序,還會自動告知鏈接器鏈接.libs。現在這個版本也可以在Release版本中使用,你現有的解決方案可能還沒有這樣做。

+0

謝謝你,會試試這個tmr。 – cynric4sure 2013-04-30 01:37:01