ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

初心者の為のC++コミュの変数と関数ののエクスポートでリンクエラーとなる

  • mixiチェック
  • このエントリーをはてなブックマークに追加
はじめまして、C++初学者です。

Visual Studio2003のVC++です。OS Windows XP SP2です。

まず。beepdell6.dllを作成します。

以下、beepdll6.slnのbeep.cppです。
---------------------------------------------------
#include <windows.h>

#ifdef __cplusplus
extern "C"{
#endif

__declspec(dllexport) int wCounter;
void __declspec(dllexport) __stdcall beep(void);

#ifdef __cplusplus
}
#endif

BOOL WINAPI DllMain(HINSTANCE hDLL,DWORD dwReason,LPVOID lpReserved)
{
return TRUE;
}

void __declspec(dllexport) __stdcall beep(void)
{
int loop;

for(loop=0;loop<wCounter;loop++){
Beep(400,100);
Sleep(1000);
}
}
-----------------------------------------------------
関数と変数をエクスポートできるようにして、dllを呼ぶ側の
EXEを作成します。
以下呼び出す側のEXEのbeepexe6.slnの
beeep.cppです。関数と変数をインポートします。
------------------------------------------------------
#include <windows.h>
#include <stdio.h>

#ifdef __cplusplus
extern "C"{
#endif

__declspec(dllimport) int wCounter;
void __declspec(dllimport) __stdcall beep(void);

#ifdef __cplusplus
}
#endif

void main(void)
{
fprintf(stdout,"beepを鳴らす回数を入力してください");
fscanf(stdin,"%d",&wCounter);
fprintf(stdout,"beepを%d回鳴らします\n",wCounter);
beep();
}
---------------------------------------------------------
その後、beepdll6.slnのbeepdll6.libを一緒にリンクするんですが、その時、リンク後
「beepexe6 error LNK2019: 未解決の外部シンボル _WinMain@16 が関数 _WinMainCRTStartup で参照されました。」とリンクエラーが出ます。解決できません。どなたかお知恵を貸してください。よろしくお願いします。

コメント(9)

呼び側(beepexe6)がコンソール・アプリケーションになって"いない"んじゃないかしら。
ありがとうございます、早速確かめてみます。助かります。ありがとうございます。
インクルードしていないような・・・気がする
以下の2点をチェックされてはドウでしょう?

1.beepdll6.libをリンクするようにVC++側で
  設定したかどうか?

2.beepdll6.libとbeepdll6.dllがPATHの通った
  ディレクトリにちゃんと配置したかどうか?
  (Windowsならソースファイルと同じ場所に置けば大丈夫だったような)
2006年05月09日 22:41 3: 猫王
----------------------------------
ごめんなさい。。。この発言はアホな発言でした・・・。
ありがとうございます。今日の昼間になると思いますがチェックします。
こんにちは、皆様。呼ぶ側をコンソールアプリケーションにしたら解決しました。ありがとうございます。
_WinMainはWindowsアプリのmainと同じ働きをするものだからねーええ
あ、そうですか。原因を理解しました。ありがとうございます。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

初心者の為のC++ 更新情報

初心者の為のC++のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング