1. 程式人生 > >fatal error LNK1104: 無法開啟檔案“***.lib“ 解決方法

fatal error LNK1104: 無法開啟檔案“***.lib“ 解決方法

 

相關: Visual Stuido (1): 跨專案呼叫 同一個solution下面不同project之間的方法呼叫

 

轉載:https://blog.csdn.net/zyjj_99/article/details/39394477

 

我們在做一個工程時,工程內可能包括幾個專案,每個專案負責一個子功能,最後在主專案中呼叫;很多時候這些專案都是以DLL的方式生成,那麼我們在主專案呼叫DLL時,需要配置專案選項,如果配置不當,就會報錯:fatal error LNK1104: 無法開啟檔案“***.lib“  ;

 

以VS2010為例,配置方法是:

1. 選則”Project“->"Property"->C/C++選項-->”General“-->Additional Include Directories,這個裡面輸入dll對應的.h標頭檔案所在的目錄;  目的是在主專案中呼叫#include<***.h>時能夠根據這個目錄找到標頭檔案,否則就會報錯,找不到標頭檔案。

 

2.選則”Project“->"Property"->Linker選項-->"General"--》Additional Library Directories,這裡面輸入dll所在的目錄,一般情況下,同一個工程的所有DLL專案輸出都是在工程的預設輸入目錄,所有可以這兒輸入:$(OutDir);

 

3..選則”Project“->"Property"->Linker選項-->”Addtional Dependencies“,這裡就是輸入lib檔名,多個的話用分號”;“隔開;

 

經過三個配置,就可以順利呼叫dll的介面方法了

 

另外,除了這種配置的方法之外,還可以在檔案中動態的輸入,如:#pragma comment(lib, "../Debug/maker_qr_encoder.lib")

也可以達到效果

 

--------------------- 作者:zyjj_99 來源:CSDN 原文:https://blog.csdn.net/zyjj_99/article/details/39394477?utm_source=copy 版權宣告:本文為博主原創文章,轉載請附上博文連結!

 

 

新增標頭檔案目錄: 配置屬性-->C/C++-->常規-->附加包含目錄 加上標頭檔案存放的目錄。 新增lib檔案: 配置屬性-->連結器-->輸入-->附加依賴項加入庫名(×××.lib);或者是在cpp原始檔中用#pragma comment(lib,"×××.lib")來代替。 此時編譯會提示:fatal error LNK1104: 無法開啟檔案“×××.lib”,原因是編譯器找不到lib檔案。 給專案新增庫檔案路徑 在VS中右擊專案點屬性: 配置屬性-->連結器-->常規-->附加目錄 。在裡面填上庫檔案所在的路徑即可。 直接新增庫檔案到工程中. 就像你新增.h和.cpp檔案一樣,把lib檔案新增到工程檔案列表中去。右鍵專案點新增選擇現有專案,選擇lib檔案點確定即可。這個方法適用於在工程的debug版本和Release版本中都使用同一個lib庫檔案。

--------------------- 作者:rznice 來源:CSDN 原文:https://blog.csdn.net/rznice/article/details/51657593?utm_source=copy 版權宣告:本文為博主原創文章,轉載請附上博文連結!