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 以前を使用してください。Windows SDK 7.1 と同様に、Express エディションは問題なく動作します。

今後の PostgreSQL 9.3 には、Visual Studio 2012 のサポートが含まれます。古いバージョンにバックパッチされることはありません。

VS 2012 のサポートについては、 https://commitfest.postgresql.org/action/patch_view?id=1023およびhttp://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 に答える