编译ECPG生成的VS C项目时出现LNK1104错误的原因咨询
解决LNK1104无法打开'C:\Program Files\PostgreSQL\14\lib.obj'的问题
问题根源
你错误地将库文件所在目录填到了「Additional Dependencies」(附加依赖项)中,Visual Studio会把这个路径当作要链接的.obj目标文件去查找,自然找不到名为lib.obj的文件。「Additional Dependencies」的正确用途是填写具体的库文件名,而非目录。
正确配置步骤
- 设置库文件目录:打开项目属性 → 链接器 → 常规 → 「Additional Library Directories」(附加库目录),添加
C:\Program Files\PostgreSQL\14\lib(路径含空格时无需手动加引号,VS会自动处理)。 - 指定要链接的库文件:进入链接器 → 输入 → 「Additional Dependencies」,添加ECPG所需的具体库文件名,比如
ecpg.lib、libpq.lib(这两个是ECPG项目常用的基础库)。 - 匹配平台架构:确认你的项目平台(x86/x64)与PostgreSQL安装版本一致——若安装的是64位PostgreSQL,项目必须设置为x64,否则会出现库文件不兼容或路径匹配失败的问题。
- 清理重建项目:完成配置后,执行「生成」→「清理解决方案」,再重新生成项目,避免旧配置缓存导致的异常。
内容的提问来源于stack exchange,提问作者mahmoud hossam
相关产品推荐
相关产品推荐

