gpt4 book ai didi

c++ - 使用 FreeTDS 库时冲突声明 ‘typedef int RETCODE’ 错误

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

我正在使用 FreeTDS 库将 C++ 连接到 MSSQL,但在编译时遇到以下错误。

In file included from pa_main.cpp:16:0: /usr/local/include/sybdb.h:120:13: error: conflicting declaration ‘typedef int RETCODE’ typedef int RETCODE;

In file included from /usr/include/sql.h:19:0, from pa_sql_db.h:16, from pa_main.cpp:11: /usr/include/sqltypes.h:268:33: note: previous declaration as ‘typedef short int RETCODE’ typedef signed short RETCODE;

我的理解是 unixodbc 和 freeTDS 库对不同大小的 int 使用相同的定义名称 RETCODE。

我怎样才能避免这种情况?任何人都可以针对此问题提出解决方法吗?

最佳答案

您正在处理两个与 C 向后兼容的库。C 没有 namespace ,因此它们用它们的 typedef 污染了全局 namespace 。我建议将每个库的代码保存在单独的翻译单元中。

关于c++ - 使用 FreeTDS 库时冲突声明 ‘typedef int RETCODE’ 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35217280/

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