C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: MFCDLLの使い方


(過去ログ 22 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■9674 / inTopicNo.1)  MFCDLLの使い方
  
□投稿者/ かず (3回)-(2007/11/01(Thu) 23:50:52)

分類:[.NET 全般] 

Vistaで、VisualStudio2005を使っています
(買ったばかりなので、使っていますとは言わないかも・・)
自作のクラスライブラリみたいなものを作りたいのですが
右往左往している状態です。
なにかしら ご教示頂ければ幸いです。

以下は作成した手順です
「新しいプロジェクト」→「Visual C++」→「MFCアプリケーション」
を選択して、ダイアログベースで新しいプロジェクトを作成
(名前:test9)

「追加」→「新しいプロジェクト」→「MFC DLL」を選択して
新しいプロジェクトを追加
(名前:testDLL)

この追加したDLLの中に作ったクラスを利用する方法を知りたいのですが
以下は現在試した手順です。

1.メニューの「ツール」→「オプション」→「プロジェクトおよびソリューション VC++ディレクトリ」でインクルードファイルのディレクトリにtestDLLのパスを追加

2.メニューの「プロジェクト」→「参照」→「新しい参照の追加」でtestDLLを追加

3.F5で実行すると

以下のようなエラーメッセージが出てきます
error LNK2001: 外部シンボル ""public: int __thiscall  CTest1::TestFunc(void)" (?TestFunc@CTest1@@QAEHXZ)" は未解決です。 Test9Dlg.obj

4.参照を追加しただけではいけないのかと思い
test9の「プロパティー」→「構成プロパティー リンカ」→「追加の依存ファイル」にtestDLL.libを追加してみると

今度は以下のようなエラーメッセージが出てきました
fatal error LNK1104: ファイル 'testDLL.lib' を開くことができません。 Test9

以下は、作成したソースファイルです
------testDLL.hの一番下に----------------------
class CTest1{
public:
CTest1(){}
int TestFunc();
};

-------testDLL.cppの一番下に-------------------
int CTest1::TestFunc(){
return 123;
}

------test9Dlg.cppの一番下に-----------------------
void Ck_Test9Dlg::OnBnClickedButton1(){
CTest1 cd;
int a = cd.TestFunc();
}

よろしくお願いします

引用返信 編集キー/
■9678 / inTopicNo.2)  Re[1]: MFCDLLの使い方
□投稿者/ Blue (352回)-(2007/11/02(Fri) 01:30:41)
クラスをエクスポートしてないからです。

MFCなら
http://msdn2.microsoft.com/ja-jp/library/9xyb5w93(VS.80).aspx
を参考にしてください。
引用返信 編集キー/
■9680 / inTopicNo.3)  Re[2]: MFCDLLの使い方
□投稿者/ かず (4回)-(2007/11/02(Fri) 05:14:48)
No9678 (Blue さん) に返信
> クラスをエクスポートしてないからです。
>
> MFCなら
> http://msdn2.microsoft.com/ja-jp/library/9xyb5w93(VS.80).aspx
> を参考にしてください。

おかげさまで、出来ました\^o^/

教えて頂いたページと
そこに書いてあった内容をたよりにあちこち検索して
悪戦苦闘すること3時間、ついに動きました。

ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -