vs2010の開発環境で、mfcアプリケーションを作成しています。
mfc拡張DLLを追加すると、LNK2019が発生し、リンクが失敗します。
( LNK2019 : 未解決の外部シンボル / unresolved external symbol )
同様の作業をvs2005、vs2008で行っても、このエラーは発生しません。
また、vs2005、vs2008のソリューションファイルをvs2010に変換しても、このエラーは発生しません。
プロパティを比較しましたが、解決に至っておりません。
解決方法をご存知の方、ご教示ください。
よろしくお願いいたします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
通常のLNK2019であれば他にログが出ていると思いますので、それも記載してください。
この回答への補足
ありがとうございます。
情報不足で申し訳ありません。
構成
MFCExtDLL(.exe)
ExtDLL(.dll)
の構成で、ExtDLLに、cTestクラスを追加し、
MFCExtDLLのMFCExtDLL.cppに、cTestのインスタンス宣言だけしています。
このため、コンストラクタとデストラクタのLNK2019が出ています。
以下、リンク時のエラーログです。
このエラーログで気が付いたのですが、コンパイルオプションで、何故か
/D _AFXDLL
が出力されています。このせいでしょうか?
ちなみに、C/C++プロプロセッサの定義
WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions)
で、%(PreprocessorDefinitions)の定義の確認方法が分かりません。
----
2013/07/24 18:49:29 にビルドを開始しました。
1>ノード 3 上のプロジェクト "C:\Users\xxx\Documents\Visual Studio 2010\Projects\MFCExtDLL\MFCExtDLL\MFCExtDLL.vcxproj" (rebuild ターゲット)。
1>InitializeBuildStatus:
"Debug\MFCExtDLL.unsuccessfulbuild" のタッチ タスクを実行しています。
ClCompile:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\CL.exe /c /I..\ExtDLL /ZI /nologo /W3 /WX- /Od /Oy- /D WIN32 /D _WINDOWS /D _DEBUG /D _UNICODE /D UNICODE /D _AFXDLL /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Yc"StdAfx.h" /Fp"Debug\MFCExtDLL.pch" /Fo"Debug\\" /Fd"Debug\vc100.pdb" /Gd /TP /analyze- /errorReport:prompt stdafx.cpp
stdafx.cpp
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\CL.exe /c /I..\ExtDLL /ZI /nologo /W3 /WX- /Od /Oy- /D WIN32 /D _WINDOWS /D _DEBUG /D _UNICODE /D UNICODE /D _AFXDLL /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Yu"StdAfx.h" /Fp"Debug\MFCExtDLL.pch" /Fo"Debug\\" /Fd"Debug\vc100.pdb" /Gd /TP /analyze- /errorReport:prompt MFCExtDLL.cpp MFCExtDLLDlg.cpp
MFCExtDLLDlg.cpp
MFCExtDLL.cpp
コードを生成中...
ResourceCompile:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\rc.exe /D _DEBUG /D _UNICODE /D UNICODE /D _AFXDLL /l"0x0411" /IDebug\ /nologo /fo"Debug\MFCExtDLL.res" MFCExtDLL.rc
ManifestResourceCompile:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\rc.exe /nologo /fo"Debug\MFCExtDLL.exe.embed.manifest.res" Debug\MFCExtDLL_manifest.rc
Link:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"C:\Users\xxx\Documents\Visual Studio 2010\Projects\MFCExtDLL\Debug\MFCExtDLL.exe" /INCREMENTAL /NOLOGO /MANIFEST /ManifestFile:"Debug\MFCExtDLL.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Users\xxx\Documents\Visual Studio 2010\Projects\MFCExtDLL\Debug\MFCExtDLL.pdb" /SUBSYSTEM:WINDOWS /TLBID:1 /ENTRY:"wWinMainCRTStartup" /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:\Users\xxx\Documents\Visual Studio 2010\Projects\MFCExtDLL\Debug\MFCExtDLL.lib" /MACHINE:X86 Debug\MFCExtDLL.res
Debug\MFCExtDLL.exe.embed.manifest.res
Debug\MFCExtDLL.obj
Debug\MFCExtDLLDlg.obj
Debug\stdafx.obj
1>MFCExtDLL.obj : error LNK2019: 未解決の外部シンボル "__declspec(dllimport) public: __thiscall cTest::cTest(void)" (__imp_??0cTest@@QAE@XZ) が関数 "void __cdecl `dynamic initializer for 'test''(void)" (??__Etest@@YAXXZ) で参照されました。
1>MFCExtDLL.obj : error LNK2019: 未解決の外部シンボル "__declspec(dllimport) public: __thiscall cTest::~cTest(void)" (__imp_??1cTest@@QAE@XZ) が関数 "void __cdecl `dynamic atexit destructor for 'test''(void)" (??__Ftest@@YAXXZ) で参照されました。
1>C:\Users\xxx\Documents\Visual Studio 2010\Projects\MFCExtDLL\Debug\MFCExtDLL.exe : fatal error LNK1120: 外部参照 2 が未解決です。
1>プロジェクト "C:\Users\xxx\Documents\Visual Studio 2010\Projects\MFCExtDLL\MFCExtDLL\MFCExtDLL.vcxproj" (rebuild ターゲット) のビルドが終了しました -- 失敗。
ビルドに失敗しました。
経過時間 00:00:03.83
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ギャンブル) 4年に1度のワールドカップ!!せっかく見るから宝くじ買って見ようと思います!予想を手伝って!! 2 2022/11/09 15:27
- サッカー・フットサル 日本のワールドカップ、PK戦になると思いますか? 1 2022/11/19 13:42
- Visual Basic(VBA) VSコードでバックスペースキーが効かない(パイソン) 1 2022/11/09 04:00
- その他(映画) 映画に詳しい方 ○○○VS兵馬俑 1 2022/09/30 15:25
- その他(プログラミング・Web制作) visual studio code 共有方法 1 2022/04/06 17:55
- その他(プログラミング・Web制作) Python でWindowsのショートカット(.lnk)のプロパティを参照したい 1 2023/02/01 15:09
- 関東 山手線駅名戦いゲームで、東京駅より左と右では、どちらが勝率あると思いますか? 2 2023/01/13 20:31
- HTML・CSS VSコードでHTMLに(リンク)ファイル名をクリックしてもファイルが開かれない 1 2023/02/12 07:52
- その他(芸能人・有名人) VS 1 2023/03/03 23:19
- サッカー・フットサル セネガルvsオランダ アメリカvsウェールズ アルゼンチンvsサウジアラビア デンマークvsチュニジ 1 2022/11/20 23:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
外部依存関係について
-
コンパイルエラー
-
C++の関数をfortranから呼びた...
-
C言語ソースのオラクルコンパイ...
-
VC2005のDLLを6.0で呼び出すには
-
リンクエラー
-
外部シンボルの未解決のエラー
-
python エラー
-
エクセルのエラーメッセージ「4...
-
<unistd.h>をVisualStudioでつ...
-
アプリケーションのDLLファイル...
-
VBAを何回も作り直して、容量が...
-
math.hに含まれる関数が使えない
-
<math.h>があるのにsqrtが・...
-
DLL参照時に指定されたモジュー...
-
実行後にコンパイルに失敗しま...
-
コンパイルできません。
-
” OS ビルド ” の意味が分か...
-
sys/time.hのインクルードがで...
-
[c++] <pthread.h>がinclude で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
外部依存関係について
-
LNK2019: 外部シンボル どのよ...
-
C++でのエラー LNK2001
-
外部シンボルの未解決のエラー
-
error LNK2001について
-
外部シンボル" ~~"は未解決で...
-
コンパイルエラー
-
OpenCVでの画像サイズ取得につ...
-
LNK2019: 未解決の外部シンボル...
-
エラー 未解決の外部シンボル
-
LNK2001(Pro*c)
-
実行ファイルの容量を減らした...
-
popen・pcloseについて
-
PathIsDirectoryを使って
-
DB2付きのC言語がコンパイルで...
-
C++ の LNK2001エラー
-
CLapack C++
-
外部シンボルについて
-
未解決の外部シンボル
-
VC++ 6.0へのサンプルプログラ...
おすすめ情報