当从包含源的目录运行时,ecpg 可以找到 EXEC SQL INCLUDE 头文件,但不能从任何其他目录运行。
这是一个插图。编译成功:
> ecpg -o dbconnect.c dbconnect.pgc
缺少包含参数,因此预计会失败:
> cd ..
> ecpg -o src/dbconnect.c src/dbconnect.pgc
src/dbconnect.pgc:28: ERROR: could not open include file "vet_config.h" on line 28
添加 ecpg 包含参数。仍然失败:
> ecpg -I src -o src/dbconnect.c src/dbconnect.pgc
src/dbconnect.pgc:28: ERROR: could not open include file "vet_config.h" on line 28
我试过指定 src 目录的绝对路径。没提升。我知道 -o 不是必需的。
我正在使用 PostgreSQL 9.2。这是来自 ecpg 的版本信息:
> ecpg -v -I src -o src/dbconnect.c src/dbconnect.pgc
ecpg, the PostgreSQL embedded C preprocessor, version 4.8.0
EXEC SQL INCLUDE ... search starts here:
src
.
/usr/local/include
/usr/pgsql-9.2/include
/usr/include
end of search list