
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C++でのエラー LNK2001
-
libdecodeqrをVC6.0のダイアロ...
-
ilink32について。'__setargv__...
-
エラー 未解決の外部シンボル
-
python エラー
-
unsigned long long 型のフォー...
-
DLLファイルの逆コンパイラにつ...
-
VC++2010でdllファイルの作成に...
-
Dim x As Integer = 0
-
【C言語】 型のサイズについて
-
fortranでプログラムを実行する...
-
エクセルVBAではRound...
-
クリティカルエラー Expressio...
-
バッチからsqlplusの接続エラー...
-
Visual studio2017で、2回目の...
-
include無しにclassが書けない
-
【.NET2005 C#】 実行ファイル...
-
POSTAL2が起動しない
-
C++コンパイルエラーの原因を教...
-
エラーについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
外部依存関係について
-
外部シンボル" ~~"は未解決で...
-
未解決の外部シンボル
-
エラー 未解決の外部シンボル
-
このプログラムを動かしたいの...
-
LNK2019: 外部シンボル どのよ...
-
LNK2001(Pro*c)
-
C++STLについての質問です。
-
C言語のエラー LNK1120: 外部参照
-
error LNK2001について
-
PCをシャットダウンさせるプロ...
-
DB2付きのC言語がコンパイルで...
-
パブリックシンボルとは?
-
外部シンボルの未解決のエラー
-
libjpegに関する質問
-
MFC C++ と C++/CLI の文字列
-
LNK2019: 未解決の外部シンボル...
-
IP Helper APIを使うとエラーが...
-
C++でdllの呼び出しについて
-
PathIsDirectoryを使って
おすすめ情報