cmake 3.17 + VS Community 2015 + win10編譯LasTools源碼(LASlib庫)

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和laszip靜態庫

  以上生成的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吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章