0

MS Windows XP Prof. SP3 32bit の C++ アプリでgdLibrary ( http://www.libgd.org ) を使用する必要があります。MS VC++ 200x EE で libgd を使用している人はいますか?

私の問題: MS Visual C++ でコンパイルする必要があります(: 2008 Express Edition - サード パーティの状態を修正)...しかし、現在、リンカがクラッシュし、次のLNK2019エラーのうち 11 個が発生します:

リンク中... codereate.obj : エラー LNK2019: 未定義の外部シンボル "_gdImageDestroy" が "public: virtual __thiscall CodeCreate::~CodeCreate(void)" で見つかりました

他のsmybolsは_gdImageColorExact_gdImageCopyResizedおよび他のいくつかのgd関数です。bgd.libからダウンロードしたパッケージが提供するでは、VC++ リンカが正しく動作しないようhttp://www.libgd.org/releases/gd-latest-win32.zipです。

私がしたこと/試したこと:

  1. に抽出さgd-latest-win32.zipc:\users\johndoe\cpp\libgdます。
  2. c:\users\johndoe\cpp\libgd\lib追加ライブラリ dir の定義(グローバル VC++ 設定)
  3. c:\users\johndoe\cpp\libgd\include追加インクルード dir として定義(グローバル VC++ 設定)
  4. c:\users\johndoe\cpp\libgd\include\lib\bgd.lib追加のlinker\input依存関係として定義(プロジェクト設定)
  5. 私はセーブ側にいることさえ#pragma comment(lib, "libgd.lib")自分に追加しました。codecreate.h

助言がありますか?何が間違っていますか (たとえば、何かをインストールするのを忘れたなど)? VC++ 2008 と互換性を持たせるための「トリック」はありますbgd.libか?

その他の注意事項:

  1. Linux/g++ で実行すると、すべて正常に動作し、警告は表示されません-pedantic -ansi -wAll。プログラムはその仕事を行い、いくつかのバーコードを生成します。
  2. Win32 用のDevC++ を使用する場合に機能します。したがって、これは Windows の問題ではなく、「単なる」VC++ の問題です。DevC++ の場合、次のことを行いました。
    • ダウンロードしたばかりでhttp://www.libgd.org/releases/gd-latest-win32.zip
    • に抽出しましたc:\users\johndoe\cpp\libgd
    • c:\users\johndoe\cpp\libgd\lib\bgd.liblinker-projects 設定で追加のオブジェクトとして追加されました。
    • 定義されたc:\users\johndoe\cpp\libgd\libals 追加のライブラリ dir、
    • c:\users\johndoe\cpp\libgd\include追加インクルードディレクトリとして定義
    • いくつかのバーコードに満足
  3. うまく動かなかったら大変なことになってます…今は必死になってます(-_-;)
4

2 に答える 2

0

プロジェクトに NODLL 定義を入れましたか? その場合は、代わりに bgd_a.lib を使用する必要があります。また、 WIN32 を定義していることも確認する必要があります

最新のリリースで簡単なプロジェクトを作成しようとしましたが、リンクされた成功を収めています。tot bgd_a を変更せずに NODLL を追加すると、同じエラー メッセージが表示されます。

于 2010-02-07T02:24:33.120 に答える
0

BGDWIN32Visual C++ でクライアント コードをコンパイルするために libgd で必要とされるプリプロセッサ マクロを定義しているかどうかを確認します。

プロジェクトのプロパティに移動し、C/C++ -> プリプロセッサ -> プリプロセッサの定義

そして追加BGDWIN32

于 2010-02-07T03:13:14.813 に答える