我在C项目中工作。我需要从一个简单的访问数据库中检索数据。我使用此链接中提供的说明
我使用Direct ODBC连接数据库,因为我使用的是ANSI C.我在项目中使用给定的代码作为函数,并在main函数中调用它。我也在主要包括(sqlext.h)。考虑到某些功能的声明,我有17个错误。
例如:
1-代码行:
rc = SQLAllocEnv(&hEnv);
我收到了错误消息:
error: undefined reference to 'SQLAllocEnv@4'
2-代码行:
rc = SQLAllocConnect(hEnv, &hDbc);
我收到了错误消息:
error: undefined reference to 'SQLAllocConnect@8'
等等。我错过了另一个图书馆还是其他什么?考虑到我的操作系统是Windows 7 64位,我使用microsoft access 2010以及Code :: Blocks
答案 0 :(得分:0)
这些是windows types。您必须在源代码顶部#include <windows.h>
使用它们。
这假设您正在使用Windows,当然。如果不是,你将不得不使用正确的c对应物:
unsigned long
代替ULONG
unsigned short
代替USHORT
我认为没有任何理由在已经不必要的typedefs
集合中添加额外级别的别名混淆,所以除非你有充分的理由,否则我建议你直接使用windows类型。
答案 1 :(得分:0)
您需要将odbc32.lib
链接到您的应用中。
答案 2 :(得分:0)
您可能想要添加<sql.h>, <sqltypes.h>, <sqlext.h> and <windows.h>
之类的标头文件。您还需要将代码放在main()
函数中。