- ベストアンサー
dllの作成方法について
- dllの作り方について勉強中ですが、コンパイルエラーが発生しています。
- 解決方法が分からず困っています。ご教授願います。
- Windows Vista Home PremiumとVisual C++ 2005 Express Editionを使用しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
プロジェクト->プロパティ->構成プロパティの文字セット欄を設定なしにされていますでしょうか? 試しに作成したところ、エラーなしでできました。 参考までに、 dll01.cppとdll01.hのEXPORT BOOL CALLBACK MyDraw()関数を CALLBACKはなしのEXPORT BOOL MyDraw()でも出来ました。 <環境> Windows Vista Home Premium Visual C++ 2008
その他の回答 (1)
- Oh-Orange
- ベストアンサー率63% (854/1345)
★アドバイス ・すべての文字列にTEXT()マクロを使って記述してみて下さい。 (例) 編集前⇒『char szClassName[] = "test01";』 編集後⇒『char szClassName[] = TEXT("test01");』 多分このようなエラーでしょう。 正確にはソースを見ないと分かりませんけどね。 試してみて下さい。 違っていたら補足をどうぞ。
お礼
ご回答ありがとうございます。 ソースコードを示しておきます。 // dll01.cpp #include <windows.h> #include "dll01.h" int WINAPI DllMain(HINSTANCE hInst, DWORD fdwReason, PVOID pvReserved) { return TRUE; } EXPORT BOOL CALLBACK MyDraw(HDC hdc, int x1, int y1, int x2, int y2, COLORREF crColor) { HPEN hPen, hOldPen; hPen = CreatePen(PS_SOLID, 1, crColor); hOldPen = SelectObject(hdc, hPen); MoveToEx(hdc, x1, y1, NULL); LineTo(hdc, x2, y2); SelectObject(hdc, hOldPen); DeleteObject(hPen); return TRUE; } ヘッダファイルは以下です。 // dll01.h #define EXPORT extern "C" __declspec(dllexport) EXPORT BOOL CALLBACK MyDraw(HDC, int, int, int, int, COLORREF); ソースファイルの11行目、ヘッダファイルの5行目にエラーが出ています。 見たところ文字列に関する記述はなく、なぜエラーが出るのかわかりません。 どうしたものでしょうか…??
お礼
ありがとうございます! 文字セットを変えてみたところ、正常に作動しました。