首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ecpg无法找到包含的内容,除非从包含源文件的目录中执行

ecpg无法找到包含的内容,除非从包含源文件的目录中执行
EN

Stack Overflow用户
提问于 2013-07-15 13:06:07
回答 1查看 858关注 0票数 1

当从包含源代码的目录运行时,ecpg可以很好地找到EXEC SQL包含头文件,但不能从任何其他目录中运行。

这里有一个插图。编译成功:

代码语言:javascript
复制
> ecpg -o dbconnect.c dbconnect.pgc

缺少预期失败的include参数:

代码语言:javascript
复制
> 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包含参数。仍然失败:

代码语言:javascript
复制
> 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的版本信息:

代码语言:javascript
复制
> 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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-21 05:03:09

经过几天毫无结果的研究和调试代码的尝试,我终于在这个页面找到了答案:http://www.postgresql.org/docs/9.2/static/ecpg-preproc.html

我的整个问题是我把文件名括在双引号中。从文档中:

,但当使用EXEC SQL INCLUDE "filename“时,只搜索当前目录。

我去掉了双引号,一切都很好

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17647090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档