原博文鏈接在我的官方網站,網址是:http://www.aobosir.com/blog/2017/02/11/Compile-zlib-and-png-using-CMake-GUI-and-VS2010/
當我在編譯Windows 上編譯 PCL源代碼的時候,它zlib庫和png庫的依賴,但是現在我的電腦裏面並沒有兩個庫。所以,我們現在就來手動的下載這兩個庫的源代碼,然後親自編譯它們。
參考網站:http://www.voidcn.com/blog/glunoy/article/p-6019106.html
我現在知道了。png庫是依賴於zlib庫的。(所以我們需要先編譯zlib庫)
現在我們電腦裏面已經有zlib庫了(我也不知道這個庫是正有還是假有。不過當我們下面使用CMake-GUI軟件生成png庫的時候,CMake-GUI軟件自動的天添加了zlib庫的include文件的路徑。所以,現在,我們就姑且認爲當前的電腦立裏面已經存在zlib庫了。(但是我們繼續後面的步驟發現,其實電腦裏面並沒有zlib庫。)),但是沒有png庫,我們現在需要下載源碼並編譯:
到這裏png庫官網下載:http://libpng.sourceforge.net/index.html
下載 libpng16
庫:
下載,人下載最多的那個:
接着是:
下載後解壓。
然後使用CMake-GUI軟件生成編譯文件:
出現一個錯誤:
錯誤的原因就是沒有找到ZLIB
庫的鏈接文件:
手動添加,這個兩個(Debug 和 Release)都填寫同一個文件:
現在再點擊 Configure 按鈕。
沒有錯誤了。但是現在有紅色的條目:
現在再點擊一次 Configure
按鈕。紅色條目消失:
現在點擊 Generate 按鈕生成編譯文件:
現在開始使用VS2010軟件編譯:
看來現在不行啊,我需要先下載並編譯zlib
庫,然後在下載並編譯png
庫。這纔是正確的步驟。
我們現在下載並編譯zlib庫:
下載zlib庫源代碼:
下載:https://sourceforge.net/projects/libpng/files/
依次的步驟是:
下載完成後,我使用7-zip軟件對其進行了兩次解壓。
然後使用CMake-GUI軟件給它生產編譯文件:
點擊 Configure按鈕進行配置:
沒有出現錯誤,出現了紅色的條目:
我們現在來仔細的看看INSTALL條目:
默認的添加的路徑都是C:\Program Files (x86)
。我們不能使用這個安裝路徑,原因是當我們一會在使用VS2010軟件編譯生成的編譯文件的時候,會出現錯誤的,錯誤的原因是:沒有權限。所以,我需要將這部分INSTALL條目的路徑都修改爲我們有權限的路徑。
然後在點擊 COnfigure 按鈕。紅色條目消失。
然後在點擊 Generate 按鈕。
現在使用VS2010軟甲打開剛剛生成的.sln
文件:
生成:
很快,不到1秒鐘就編譯完成了:
然後對 INSTALL項目進行生成
也是秒速編譯完成:
生成成功:
現在,我們將這個生成的文件夾,剪切到C:\third_packages
路徑裏面。(我自己的一個習慣,我喜歡將第三方庫放在這個路徑下。)
我們還需要將zlib庫的png路徑添加到系統的環境變量裏面。
現在我們可以將下面這兩個文件夾給刪除了。(一個是zlib的源代碼。一個是zlib的編譯文件)(當然,我們刪除這兩個文件夾之前,需要先關閉VS2010軟件,因爲剛剛VS2010軟件一直在使用其中一個文件。CMake-GUI軟件可以不用關閉,它不影響。)
接下來,我們來編譯 png庫:
修改zlib庫(png庫依賴於這個庫)條目爲正確的路徑:
現在點擊 Configure 按鈕。
紅色的條目都消失了。現在有用一個點:我們需要注意這個安裝路徑:
和zlib庫是一樣,我們需要給這個安裝路徑修改爲一個我們可以控制的權限的路徑。
修改爲:
現在點擊 Configure 按鈕,然後在點擊 Generate 按鈕:搞定
現在使用VS2010軟件對生成的編譯文件進行編譯:
編譯成功,一共沒有用了3秒鐘:
然後是編譯 INSTALL項目:
秒速編譯完成:
一樣,我們將得到的文件夾剪切到 C:\third_packages
這個路徑裏面。
然後將png
路徑添加到環境變量裏面:
最後一步就是清理戰場:刪除下面兩個文件夾:(清理前,需要先關閉VS2010軟件)
好的,這樣,zlib 和 png 這兩個庫就編譯完成了。
搞定
更多精彩的博文,請訪問:http://www.aobosir.com/