C .pc文件警告

时间:2010-03-10 10:07:49

标签: c warnings

这是我的警告。

warning : implicit  declaration of function 'sqlglm'

警告来自bi.pc文件。

当我检查bi.c文件时。

它不包括

#include <sqlcpr.h>
#include <sqlca.h>

在编译时生成.c文件。 无需编辑.c文件

我正在使用linux&amp; gcc编译器,C。

2 个答案:

答案 0 :(得分:1)

warning : implicit declaration of function 'sqlglm'显示何时在某个其他头文件中定义了函数,但尚未#include d,或者根本没有定义该函数。因此,请包含定义它的文件或自己定义它。


更新
使用#include "sqlcpr.h" (如果sqlcpr.h不在编译器的搜索路径中并且与源文件位于同一目录中)

答案 1 :(得分:1)

这是一个老问题,但为了帮助那些可能通过像我这样的搜索引擎绊倒的人,正确的答案是:

您必须将以下行添加到Pro * C源

sqlca.h

oraca.h被包含之前,sqlcpr.hstddef.h是必需的。必须在这些嵌入式SQL语句之前包含标准C标头,如stdio.hsize_t,因为它们需要定义#include

使用嵌入式SQL include语句而不是C EXEC SQL INCLUDE非常重要。 {{1}}会将头文件的内容复制到生成的C文件中。因此,没有必要将Oracle客户端的其他包含文件路径添加到C编译器命令行中。