我正在尝试使用 cygwin gcc-g++ 11.3.0-1 在 Windows 10 上编译 C 代码,使用 gcc-arm-none-eabi cross-compiler.lib.h:typedef enum{SYSUTILS_RET_OK = 0... 可以完美编译。
我正在尝试使用 cygwin gcc-g++ 11.3.0-1 在 Windows 10 上编译 C 代码,使用 gcc-arm-none-eabi 交叉编译器可以完美编译。
lib.h:
typedef enum
{
SYSUTILS_RET_OK = 0,
SYSUTILS_RET_ERROR,
} sysutils_ret_e;
sysutils_ret_e ResetSystem(void);
lib.c:
#include "lib.h"
sysutils_ret_e __attribute__((weak)) ResetSystem(void)
{
return SYSUTILS_RET_ERROR;
}
主要.c:
#include "lib.h"
int main(void)
{
...
SystemReset();
...
}
链接器错误: undefined reference to ResetSystem
我猜测 cygwin 无法处理 __attribute__((weak))
语法,但我找不到支持这种怀疑的文档。
有人知道问题是什么吗或者 cygwin 是否根本不支持此功能?
谢谢!