Arduino编译器在C库中找不到实现的方法

时间:2013-05-13 20:52:21

标签: c arduino

我为Arduino Leonardo写了自己的图书馆。它由一些头文件组成,所有定义的方法都在* .c-files中实现。当我用Eclipse编译它时一切正常,但Arduino IDE的编译器没有得到方法。它返回错误消息:

impl.cpp:20: undefined reference to initOptiCom()
impl.cpp:21: undefined reference to calc(unsigned char*, int)
impl.cpp:25: undefined reference to getInitSeq(unsigned char*, long*, long)
impl.cpp:32: undefined reference to decode(unsigned char*, long)
collect2: error: ld returned 1 exit status

所有文件都可以在arduino库目录中找到,所有库都包括在内...... 我搜索了一些为arduino实现C库的例子,但我发现只有一些用于C ++。

也许你知道这里有什么问题,我尝试了很多但却失败了:(

1 个答案:

答案 0 :(得分:3)

也许这只是名字错误。将函数声明为extern "C",或将它们编译为C ++(将文件重命名为.cpp或在编译时将-x c++标志传递给GCC。)