2015-05-12 54 views
0

的是.lib正確的版本,我使用Visual Studio 2013年 我已經安裝了通過包管理器控制檯的libpng的libpng

Install-Package libpng 

我想從https://github.com/DavidEGrayson/ahrs-visualizer/blob/master/png_texture.cpp

我複製使用功能png_texture_load() .h和.cpp文件到我的項目中。

試圖建立,但我得到了很多錯誤LNK2019的:解析外部符號

所以我嘗試添加的libpng(libpng15.lib)這裏 項目設置→鏈接→輸入→附加依賴。

但現在我得到

error LNK1104: cannot open file libpng15.lib 

似乎無法找到它。我曾嘗試添加路徑(C:\用戶\ PanStudent \文檔\的Visual Studio 2013 \項目\ pa199_3DBreakout \包\ libpng.1.5.10.11)到 連接器 - >常規 - >附加庫指令

仍一樣。我能做什麼?謝謝

編輯:我看了看文件夾,並有libpng15.lib的許多版本。動態,靜態,調試,發佈,x64,win32。我怎樣才能找出哪一個是正確的?

+0

那麼,如果我不收到很多錯誤LNK2019:無法解析的外部符號,那麼我該怎麼辦? – rluks

回答

0

ItemDefinitionGrouplibpng.targets文件,你會看到條件'$(PlatformToolset.ToLower())' == 'v100'$(PlatformToolset.ToLower().IndexOf('v110'))。但Visual Studio 2013的默認設置爲PlatformToolset v120。所以libpng只是沒有編譯的VisualStudio 2013年

如果libpng是C庫,比你可以只修改*.target文件和v120工具集添加條件或者你可以手動鏈接庫。在其他情況下,您應該使用VisualStudio 2013編譯器重建libpng。

在此上下文中的靜態庫表示具有靜態C++運行庫(編譯器的MT,MTd選項)的靜態庫。動態庫意味着具有動態C++運行時(MD,MDd)的動態庫。當您使用動態libpng時,您應該將dll文件從libpng.redist複製到您的應用程序可執行文件,以啓動您的程序。