gpt4 book ai didi

C 项目 - 两个库对不同类型使用相同的 typedef 标识符

转载 作者:太空狗 更新时间:2023-10-29 14:53:50 26 4
gpt4 key购买 nike

我正在开发一个使用 MODBUS2 库的项目,我想向其中添加 FatFs 库以与 SD 卡连接。这两个库分别使用标识符 SHORT 表示 shortint,编译器会抛出此错误:

#258 invalid redeclaration of type name "SHORT" 

我该如何解决这个问题?

最佳答案

您需要以这样一种方式重组您的项目,即您的库的任何翻译单元都不必包含来自两个库的 header (翻译单元是 C 文件的奇特名称)。

一种方法是围绕 MODBUS2 和 FatFs 功能编写您自己的薄“包装器”函数。每个包装器都必须包含它所包装的库的 header ,因此不会有编译时冲突。然后你的库的主要模块将编程到你的“包装器”,根本不包括 MODBUS2 或 FatFs 头文件。

关于C 项目 - 两个库对不同类型使用相同的 typedef 标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48305734/

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