2011-08-14 3 views
0

NormalizeString()機能を使用するには、どのスタティックライブラリをリンクする必要がありますか?WinNLSとのリンク

MSDNで説明されているほとんどの機能とは対照的に、関数を使用するために必要な静的ライブラリは宣言されていません。私は、DLLから派生した名前を使用してみました:normaliz.libそれは正常にリンクしましたが、私は実行時にNormalization.dllが私のコンピュータ上に見つかりませんでしたポップアップを取得し、プロセスがシャットダウンされます。

+0

Normaliz.dllです。 Vista以上でのみ利用可能です。 XPをターゲットにする場合は、_WIN32_WINNTマクロの値を適切に設定して、ターゲットオペレーティングシステムでは使用できない関数のコンパイルエラーが発生するようにしてください。 –

+0

@ハンス:はい、私は既に '' _WIN32_WINNT''をチェックしています。私はWindows 7でテストしています。 –

+0

これをWindows 7で試しても問題ありません。Windows SDKのどのバージョンを使用していますか? 6.0で試してみましたが、ntdll.dllにRtlNormalizeStringを付けてkernel32.dllに実装されていることをデバッグしながら確認しました。 Normaliz.dllの代わりに、ドキュメントを微妙に間違ってしまう。 –

答えて

1

Hans Passantからのポインタとして、正しいインポートライブラリはnormaliz.libです。私のセットアップに何か問題があったようです。

私はWindows SDK v6.0Aを使用していました。 Windows SDK v7.0Aに切り替えた後、私の問題は止まった。

+0

この問題は別のコンピュータで発生しています。 v7.0Aへのアップグレードでも問題は解決しました。 –

0

あなたがリンクしたページの下部にあるリンクには、ダウンロードにimplibとdllのリソースが含まれていると記載されています。おそらく、DLLを明示するか、少なくともPATHに入れなければなりません。

+0

余分なダウンロードはWindows XP用です。私はWindows 7上にあり、Windows Vista以降に組み込まれているはずです。 –

+0

FYI:ダウンロードにはインポートライブラリが含まれていません(通常のように見えます) – peterchen