这是我的警告。
warning : implicit declaration of function 'sqlglm'
警告来自bi.pc文件。
当我检查bi.c文件时。
它不包括
#include <sqlcpr.h>
#include <sqlca.h>
在编译时生成.c文件。 无需编辑.c文件
我正在使用linux&amp; gcc编译器,C。
答案 0 :(得分:1)
warning : implicit declaration of function 'sqlglm'
显示何时在某个其他头文件中定义了函数,但尚未#include
d,或者根本没有定义该函数。因此,请包含定义它的文件或自己定义它。
更新
使用#include "sqlcpr.h"
(如果sqlcpr.h
不在编译器的搜索路径中并且与源文件位于同一目录中)
答案 1 :(得分:1)
这是一个老问题,但为了帮助那些可能通过像我这样的搜索引擎绊倒的人,正确的答案是:
您必须将以下行添加到Pro * C源
sqlca.h
在oraca.h
被包含之前,sqlcpr.h
和stddef.h
是必需的。必须在这些嵌入式SQL语句之前包含标准C标头,如stdio.h
或size_t
,因为它们需要定义#include
。
使用嵌入式SQL include语句而不是C EXEC SQL INCLUDE
非常重要。
{{1}}会将头文件的内容复制到生成的C文件中。因此,没有必要将Oracle客户端的其他包含文件路径添加到C编译器命令行中。