1 準備軟體
lastools源碼位址,提取碼:qld8;cmake下載下傳位址,提取碼:9bit。
2 使用cmake生成VS2015的工程
cmake安裝過程略,cmake編譯源碼的方法,請自行百度學習,點選“configure”按鈕,本文configure的内容如下圖:

然後,依次點選“generator",“open project”,在VS community 2015中打開 LAStools解決方案,将"LASlib"工程設為啟動項,接下來開始生成解決方案,編譯器會提示很多以下錯誤:
對應代碼位置如下圖:
可知在第364行的“?"後缺少一個單引号,是以補上該單引号即可,如下圖:
接下來繼續編譯,即可通過,分别編譯debug和release版本。
3 擷取laslib靜态庫
以上生成的laslib.lib位于“LAStools\LASlib\lib”目錄下。
4 程式執行個體
使用LASlib庫打開laz格式資料,在visual studio中建立控制台程式test,右鍵選擇test->屬性->配置屬性->C/C++ ->正常->附加包含目錄,添加如下頭檔案:
這裡根據自己的實際路徑添加即可。這兩個檔案位于源碼中的LASlib和LASzip中。
依次點選 連結器-> 輸入->附加依賴項,添加lib檔案:
E:\MyDocuments\code_programs\VS_C++\LAStools-lib\LASlib\lib\Debug\LASlib-d.lib
這裡要注意,需要添加與屬性頁面中的配置項一緻的lib版本。完成以上操作後點選 确定 退出屬性頁面。
添加cpp檔案,輸入以下測試代碼:
#include <iostream>
// Laslib
#include "lasreader.hpp"
int main()
{
// 點雲路徑
std::string file_path("E:/MyDocuments/code_programs/VS_C++/LAStools/data/lake.laz");
// 打開las檔案
LASreadOpener lasreadopener;
lasreadopener.set_file_name(file_path.c_str());
LASreader* lasreader = lasreadopener.open();
size_t point_count = lasreader->header.number_of_point_records;
// 周遊點雲
while (lasreader->read_point())
{
std::cout << lasreader->point.get_x() << " "
<< lasreader->point.get_y() << " "
<< lasreader->point.get_z() << std::endl;
}
// 關閉點雲流
lasreader->close();
delete lasreader;
return 0;
}
結果如下:
如果使用VS community 2019 進行編譯,則将VS 2015替換為VS 2019即可。
補充:VS2019編譯的lib,VS2015 用不了,至于VS2015編譯的庫,VS2019能不能用,則沒有測試,盡量用目前版本編譯器編譯的lib吧。