VS2012:构建postgresql - LNK1120,2001 - 手动添加依赖项?

时间:2013-02-01 10:38:17

标签: postgresql build compilation visual-studio-2012

我正在尝试在Visual Studio 2012中在我的Windows机器上构建postgresql。当我这样做时,我会遇到很多错误,所有错误都是:

  • LNK1120: n 未解析的外部
  • LNK2001:未解析的外部符号

我在很多地方看到有这些错误应该指定它是一个控制台应用程序而不是win32应用程序,但是:我没有自己创建sln和vcxproj,但是构建程序在第一名。所以,我在那里什么也做不了,对吧?

我查看了其他类似的问题,并且有人建议将dll添加为附加依赖项(属性>配置属性>链接器>输入>其他依赖项)。 实际上有效,但这真的是解决方案吗?我是否必须在每个项目上手动添加依赖项?或者是否有捷径?

1 个答案:

答案 0 :(得分:3)

不支持Visual Studio 2012,不适用于PostgreSQL 9.2及更低版本。即使你可以解决直接的链接器错误,你也会遇到本地和charset支持等问题。

对于Pg 9.2使用Visual Studio 2010或更早版本,对于9.0及更低版本使用Visual Studio 2008及更早版本。 Express版本工作正常,Windows SDK 7.1也是如此。

即将推出的PostgreSQL 9.3将包括Visual Studio 2012支持。它不会被修补到旧版本中。

有关VS 2012支持,请参阅https://commitfest.postgresql.org/action/patch_view?id=1023http://www.postgresql.org/message-id/20130101025421.GA17763@tornado.leadboat.com

有关Windows上的构建说明,请参阅http://www.postgresql.org/docs/current/static/install-windows.html。阅读当前版本,但请注意,如果您正在构建旧版本的服务器,则可能还需要较旧的工具,因此请阅读旧版本的文档版本。

我写了一些工具和说明,以帮助简化构建;他们在这里发表:

https://github.com/2ndQuadrant/pg_build_win

非常感谢您的反馈。