0

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

  • LNK1120:n 个未解决的外部因素
  • LNK2001:未解析的外部符号

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

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

4

1 回答 1

3

Visual Studio 2012 不受支持,并且不适用于 PostgreSQL 9.2 及更低版本。即使您可以解决即时链接器错误,您也会遇到本地和字符集支持等问题。

对于 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

您的反馈将不胜感激。

于 2013-02-01T11:05:02.780 回答