• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:dllの作成方法について)

dllの作成方法について

このQ&Aのポイント
  • dllの作り方について勉強中ですが、コンパイルエラーが発生しています。
  • 解決方法が分からず困っています。ご教授願います。
  • Windows Vista Home PremiumとVisual C++ 2005 Express Editionを使用しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • 64ema
  • ベストアンサー率44% (4/9)
回答No.2

プロジェクト->プロパティ->構成プロパティの文字セット欄を設定なしにされていますでしょうか? 試しに作成したところ、エラーなしでできました。 参考までに、 dll01.cppとdll01.hのEXPORT BOOL CALLBACK MyDraw()関数を CALLBACKはなしのEXPORT BOOL MyDraw()でも出来ました。 <環境> Windows Vista Home Premium Visual C++ 2008

kerokk
質問者

お礼

ありがとうございます! 文字セットを変えてみたところ、正常に作動しました。

その他の回答 (1)

  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.1

★アドバイス ・すべての文字列にTEXT()マクロを使って記述してみて下さい。  (例)  編集前⇒『char szClassName[] = "test01";』  編集後⇒『char szClassName[] = TEXT("test01");』  多分このようなエラーでしょう。  正確にはソースを見ないと分かりませんけどね。  試してみて下さい。  違っていたら補足をどうぞ。

kerokk
質問者

お礼

ご回答ありがとうございます。 ソースコードを示しておきます。 // 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行目にエラーが出ています。 見たところ文字列に関する記述はなく、なぜエラーが出るのかわかりません。 どうしたものでしょうか…??

関連するQ&A