gpt4 book ai didi

c - 对 extern int stm32 的 undefined reference

转载 作者:行者123 更新时间:2023-11-30 18:03:33 25 4
gpt4 key购买 nike

我正在使用 Atrollic Studio(Eclipse 中也存在问题)。

.h 文件

 extern int i2cInitIO(uint channel, uint hz);
extern int i2cIO(uint device, byte *put, uint putlen, byte *get, uint getlen);

.c文件

#include "tollosI2C.h"
int i2cGetReg(uint device, byte reg, byte *get) {
// write one byte address then read 1 byte data

return i2cIO(device, &reg, 1, get, 1);
} // i2cGetReg

我有一个问题:对`i2cIO'的引用未定义。该项目需要由ARM工具链编译。StM32F103VET6 - 高密度设备。我使用 ST-Link。

UPD:我的 .h 文件 - http://pastebin.com/52ftBxR9

和c.文件-http://pastebin.com/CcjpVZUP

编译器调用命令 - “gcc”,不带大括号。

编译器调用参数 - “-E -P -v -dD ${plugin_state_location}/specs.c”,不带大括号。

最佳答案

好的,您的环境称为 Atollic(拼写错误),但从头文件的名称来看,我断定您正在使用来自 Mike Cowlishaw 的 Tollos 管理程序。其次,您的编译选项可能不正确,因为 GCC 的 -E 选项只会生成预处理输出,但是您报告的错误是链接器错误。

如果没有更多信息,我会假设您缺少包含 i2cIO 实现的库,可能缺少链接器命令行选项。

由于您似乎使用的是 Tollos 不直接支持的处理器变体,我想您想为您的处理器移植 Tollos。检查你的 makefile cq. Atollic 项目设置包括正确的库。如果合适,请将 -E 选项替换为 -c

关于c - 对 extern int stm32 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8284478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com