- 締切済み
VC++でビルド時の、リンク警告 LNK4006、LNK4221 を消したい
こんにちは。 先週から仕事で Visual Stadio 2005 を使用して、C言語 でプログラムを書いています。 コードをビルドする際、ライブラリ作成時に以下の警告がでます。 1>Dynamic_02.lib(Dynamic_02.dll) : warning LNK4006: __NULL_IMPORT_DESCRIPTOR は Dynamic_01.lib(Dynamic_01.dll) で定義されています。2 つ目以降の定義は無視されます。 1>Dynamic_02.lib(Dynamic_02.dll) : warning LNK4221: パブリック シンボルが見つかりませんでした。アーカイブ メンバにアクセスできません。 これらの警告を消す方法はないですか? 以下は手順の詳細です。 1. 動的リンクライブラリ、Dynamic_01.dll を作成した。 同時にインポートライブラリ Dynamic_01.lib が作成される。 2. 動的リンクライブラリ、Dynamic_02.dll を作成した。 同時にインポートライブラリ Dynamic_02.lib が作成される。 3. Dynamic_01.dll と Dynamic_02.dll の両方の関数を使用する、 静的リンクライブラリ、Static_01.lib の作成を試みた。 追加の依存関係に Dynamic_01.lib と Dynamic_02.lib を指定し、 Static_01.lib をビルドすると、上記の警告が表示される。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- wathavy
- ベストアンサー率22% (505/2263)
試しにdllを新規プロジェクトのファイルのあるディレクトリないしは、Debug,Releaseのあるディレクトリにコピーしてもらえませんか? あと、libの指定も入っていることを確認してlibもコピーしてもらえませんか?
お礼
長い時間が過ぎたので、質問を締め切ることにします。
補足
リンク時の警告なので DLL ファイルは関係ないです。 それから、LIB ファイルの指定が抜けていたら、リンクエラーが発生するので、これも抜けてはいません。