如何解决将特征添加到 PlatformIO
我无法将 Eigen (https://eigen.tuxfamily.org/index.php?title=Main_Page) 添加到 PlatformIO 以与 Teensy 4.1 一起使用。
当它不在注册表中时,将库添加到 PlatformIO 的正确程序是什么?我尝试了以下操作:https://community.platformio.org/t/how-to-include-arduino-library-in-platformio/15146 但它没有解决我的问题。
看看是否有人使用过带有 PlatformIO 的 Eigen 库以及他们如何安装它。
解决方法
我确实让它工作了。
在 PlatformIO 上的 lib 中创建一个新文件夹,例如“Eigen_Main”。
下载 Eigen Zip(使用最新的稳定版本)。
提取“Eigen”文件夹并将其放入 Eigen_Main。
也在 Eigen_Main 中将此标题添加为“Eigen.h”:
// Credits: @rpavlik for writing this header.
// Note: "Importantly,it includes a header to both indicate to the Arduino IDE
// that this library should be used,and set up the preprocessor environment
// so the ample #define lines in the Arduino and AVR libraries don't wreak havoc with Eigen.
// Disable debug asserts.
#define EIGEN_NO_DEBUG 1
// Hint to number of registers
#define EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS 16
#ifdef A0
# define NEED_A0_RESTORED A0
# undef A0
#endif
#ifdef A1
# define NEED_A1_RESTORED A1
# undef A1
#endif
#ifdef B0
# define NEED_B0_RESTORED B0
# undef B0
#endif
#ifdef B1
# define NEED_B1_RESTORED B1
# undef B1
#endif
namespace std {
struct nothrow_t;
}
// Include main EIGEN Core header
#include <Eigen/Core>
#ifdef NEED_A0_RESTORED
# define A0 NEED_A0_RESTORED
# undef NEED_A0_RESTORED
#endif
#ifdef NEED_A1_RESTORED
# define A1 NEED_A1_RESTORED
# undef NEED_A1_RESTORED
#endif
#ifdef NEED_B0_RESTORED
# define B0 NEED_B0_RESTORED
# undef NEED_B0_RESTORED
#endif
#ifdef NEED_B1_RESTORED
# define B1 NEED_B1_RESTORED
# undef NEED_B1_RESTORED
#endif
您的平台 IO 项目应该具有:
.pio
.vscode
include
lib
-Eigen_Main
-Eigen
-Eigen.h
src
test
platformio.ini
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。