2009-03-13 12 views
1

VC++のリリースモードでプロジェクトをコンパイルしています。 私は図書館リリース/ HKL.libを作成 ...私はsetLogを宣言しているし、今私は エラーリリースモードでのコンパイルの問題--VC++

リンク以下になっています.defファイルを持っているとリリース/ HKL.exp HKL_libinterface.objオブジェクト:エラーLNK2001:未解決の外部シンボル_SCTP_setLog @ 8

この問題を解決するために私を助けてください。

おかげ

答えて

0

これは、デバッグモードでコンパイルする場合は、最も可能性のある理由は何とかこの機能が実装されているコードは、ビルドに含まれていないということである - 例えば、それが実装されているCPPファイルは、「ビルドから除外しました"設定します。

+0

はい、それは はplzは おかげ –

+0

あなたはソリューションエクスプローラでプロジェクトツリーに追加する方法...教えて...ビルドセットにCPPファイルをインクルードする 方法..デバッグモードで罰金コンパイルします。あなたはすでにそれが追加されていると思います。次に、右クリックして[プロパティ]を選択し、[全般]タブの内容を確認します。 「除外されたフォームビルド」は「いいえ」にする必要があります。 – sharptooth

+0

[除外されたフォームビルド]のチェックボックスが[全般]タブに表示されます。ここでは、この「除外フォームビルド」がすべてオフになっています(NOと推測されます)。 しかし、私も同じエラーに直面しています。 –

0

sharptoothが述べたように、あなたのリリースビルドで上記の関数をコンパイルしていない可能性が高いです。 「ビルドから除外」を探すことに加えて、リリースビルドから欠落している機能を除外する定義があるかどうかを確認します。

+0

こんにちは、これを確認する場所と方法を詳しく教えてください。 :(これは新しい –

2

リリースビルドに含まれていない、あなたのデバッグビルドで設定されたlibファイルを持っているように聞こえます。 setLog()関数は、リンカーが不平を言っている関数ではないようです。SCTP_setLog()という関数が見つからないようです。

設定したライブラリのリストをプロジェクトのデバッグ設定で探し、それらもリリース設定でも設定されていることを確認します。

+0

これは最も可能性の高いケースです。Visual Studioでは、すべてのビルドオプションをデバッグ時とリリース時に2回ずつ設定しています。 ) –

+0

あなたは*一度に両方を設定できますが、実際にオプションを設定する前に*覚えておく必要があります:) – Thomas

関連する問題