0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

DLL作成から利用までの備忘録。

Posted at

初めに

今回の記事に関する参考サイト(正直このサイトだけで事足ります。
http://pickles-ochazuke.hatenablog.com/entry/2017/07/05/171806
http://pickles-ochazuke.hatenablog.com/entry/2017/07/05/171813

余談

Visual Studioとは統合開発環境です。
公式ページ:https://www.microsoft.com/ja-jp/dev/default.aspx
参考Wiki:https://ja.wikipedia.org/wiki/Microsoft_Visual_Studio

DLLとはダイナミックリンクライブラリです。
weblio辞書:https://www.weblio.jp/content/DLL

注意点

DLLの方を更新しても関数など追加削除が反映されない場合があるので、
そのときは追加したDLLのプロジェクトを外して再追加してください。

dllとlibを使った形での環境構築

上記のやり方ではなく、dllとlibを直接渡して行うやり方があります。
こちらの方法の利点と欠点などいくらかありますが、とりあえず言えることとしてはバージョン管理が必要になります。

1,DLLプロジェクトのlibと.hを渡す

まず、DLLを作成したプロジェクト(以下DLLプロジェクト)から出力されている「lib」と「.h」をdllを扱うためのプロジェクト(以下プロジェクトA)に渡します。

どこでもいいですがプロジェクトAのディレクトリ内にあると設定が楽です。

また、DLLプロジェクトの「Debug」と「Release」内にあるlibとdllは別物と扱います。
プロジェクトAの「Debug」と「Release」にDLLプロジェクトの「Debug」を多用することは出来なかったはずです。

スクリーンショット (349).png

2,DLLプロジェクトのdllを渡す

次に、DLLプロジェクトのdllをプロジェクトAのexeと同じ階層に置きます。
この際も「Debug」に「Debug」のものを渡すようにしてください。
※今回はx86でやっています。

スクリーンショット (350).png

ここで気づいたかもしれませんが、exeを渡す際にはdllも渡さなければならなくなります。
それを防ぐためには「ILMarge」を使った方法があるみたいです。まだやったことはないのでその点についてはご自分で調べてください。
そのほかには「ビルド後のイベント」を弄ると出来そうですがこれもまだやってないです。

3,プロジェクトAの環境構築

見ればわかるように画像にしているので、言葉での細かい説明はしません。

まず、C/C++の全般にて、「lib」と「.h」を入れたディレクトリを指定するようにしてください。
もちろん「Debug」には「Debug」です。
ダウンロード.png

同様にリンカーにても行います。
スクリーンショット (352).png

そうしたらリンカーの入力にて「lib」を指定してください。
スクリーンショット (354).png

4,そのあと

これで環境構築は終わりです。
includeにて該当の「.h」を指定すれば扱えるようになるはずです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?