簡體   English   中英

如何查看 Eigen C++ 模板庫的版本號?

[英]How to check the version number of Eigen C++ template library?

我默認添加了幾個不同版本的 Eigen,包括 Visual C++ 目錄。 但是在對一些測試數值示例使用LDLT (Cholesky 分解)時,我遇到了崩潰問題。

所以我想在調試代碼時確定哪個版本實際上處於活動狀態。

是否有任何功能可以指示當前活動的 Eigen 版本號?

這個答案只是以上評論的總結:

  • 在編譯時,您有EIGEN_WORLD_VERSIONEIGEN_MAJOR_VERSIONEIGEN_MINOR_VERSION ,您可以輕松地將此信息嵌入到您的應用程序中。

  • 3.1.91聽起來像是3.2beta version

  • 版本號宏在位於\\Eigen\\src\\Core\\util\\ Macros.h中定義。

為了檢查 Eigen C++ 模板庫的版本號,只需鍵入

dpkg -p libeigen3-dev

在終端。 或者只是輸入

pkg-config --modversion eigen3

您將獲得 Eigen 版本。

雖然這不是 OP 的目標,但發現此問題的人可能有興趣檢查版本是否等於由於與不同版本 Eigen 的兼容性原因而比特定版本更新。 這可以使用EIGEN_VERSION_AT_LEAST(x, y, z)宏更輕松地完成,如下所示:

#if EIGEN_VERSION_AT_LEAST(3,3,0)
    // Implementation for Eigen 3.3.0 and newer
#else
    // Implementation for older Eigen versions
#endif 

該宏也在Eigen/src/Core/util/Macros.h EIGEN_WORLD_VERSION ,並EIGEN_MINOR_VERSION內部使用EIGEN_WORLD_VERSIONEIGEN_MAJOR_VERSIONEIGEN_MINOR_VERSION

在 Linux 上:

grep "#define EIGEN_[^_]*_VERSION" /usr/local/include/eigen3/Eigen/src/Core/util/Macros.h

你會得到類似的東西:

#define EIGEN_WORLD_VERSION 3
#define EIGEN_MAJOR_VERSION 3
#define EIGEN_MINOR_VERSION 7

這意味着版本 3.3.7

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM