VS使用第三方庫
項目設置
調整頭文件引用目錄
C/C++ -> General -> Additional Include Directories
添加庫文件目錄
Linker -> General -> Additional Library
添加具體的lib文件(處在上述庫文件目錄下)
Linker -> Input -> Additional dependencies
添加DLL的索引
有些第三方庫使用動態鏈接庫的形式(lib+dll)。
方法一:將dll所在的目錄添加到系統path。但會有潛在沖突的風險(同名,但是版本、內容不同);
方法二:直接拷貝到 Visual Studio 的exe所在目錄下。假如工程較多,每次有新版本的動態鏈接庫更新時,你需要更新若干次,拷貝、粘貼苦不堪言。
方法三:
Visual Studio 菜單 ==> 工具 ==> 選項 ==> 項目和解決方案 ==> VC++目錄,在下拉框里選擇"可執行文件",然后把 dll 所在路徑添加進去
或者設置exe的工作目錄
Visual Studio ==> Project ==> Properties ==> Select Configuration ==> Configuration Properties ==> Debugging ==> Working directory
附注:
以下兩個路徑的區別
1. VC++ Directories -> Include Directories
2. C/C++ -> General -> Additional Include Directories
結果相同,只是搜索文件時的時機不同。
Order1:The compiler searches for directories in the following order:
Directories containing the source file;
Order2:Directories specified with the /I option, in the order that CL encounters them;
Order3:Directories specified in the INCLUDE environment variable.
其中Order2中的/I是由C/C++ -> General -> Additional Include Directories設置的。而Order3中的INCLUDE是由VC++ Directories -> Include Directories設置的。
同理
1. VC++ Directories -> LibraryDirectories
2. Linker -> General -> Additional Library Directories
VS使用openCV
需要添加引用的lib文件
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_ml249d.lib
opencv_nonfree249d.lib
opencv_objdetect249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_videostab249d.lib
Qt項目配置使用
qt使用msvc2013的構件套件,所以第三方庫(如openCV等)也使用v12版本的lib文件。
VS各版本的對應關系
Visual Studio 2003 : vc7
Visual Studio 2005 : vc8
Visual Studio 2008 : vc9
Visual Studio 2010 : vc10
Visual Studio 2012 : vc11
Visual Studio 2013 : vc12
Visual Studio 2015 : vc14
Qt項目使用pro文件管理項目設置,使用變量賦值的方式
設置引用頭文件目錄
INCLUDEPATH += D:\Program\openCV249\opencv\build\include \
.
設置庫文件目錄,參數-L與路徑之間沒有空格
LIBS += -L"D:\Program\openCV249\opencv\build\x64\vc12\lib"\
-lopencv_core249d
qt的讀取文件時的相對路徑在與debug文件夾、release文件夾並列的文件夾中。
出現link錯誤,就是lib文件沒有應用正確,或者缺少lib文件;
