プロが教える店舗&オフィスのセキュリティ対策術

Visual C++ 7.1を使用しています。

ライブラリを使って作成したアプリを配布するとき、
一緒にDLLファイルも配布しないと起動できませんよね?

通常は、DLLファイルのパスは実行ファイルと同じか、
system32などのディレクトリに入れなければ
「~~~.dllが見つかりません。」
みたいなエラーが表示されるかと思います。
(違ったらすみません)

そうではなく、DLLファイルが10個以上ありますので、
実行ファイルと同じディレクトリだとややこしくなるため、
実行フォルダより1つ下の階層にまとめて置きたいのですが、
そのような事は可能なのでしょうか?

できれば、LoadLibraryなどの関数は使わず、
何かしらの設定で出来るのであればそれが望ましいです。

可能でしたら、方法をご伝授いただけると助かります。
よろしくおねがいします。


サンプルですが構成としては以下のような感じです。
(※[ ]はフォルダ名を表します)

[Main]
 ReadMe.txt
 実行ファイル.exe
 [Image]
  image1.png
  image2.png
 [Sound]
  sound1.wav
  sound2.wav
 [DLL]
  graphics2d.dll
  input.dll
  sound.dll
  file.dll

A 回答 (1件)

XP以降ではマニフェストファイル(orリソース)を使えば可能です


http://bitwiz.jp/tabid/56/EntryID/64/Default.aspx

2000以前だとApp PathsのPATHが環境変数PATHに追加されるのでそこもLoad-Time Dynamic Linkingで読み込まれる対象に入ります
http://support.microsoft.com/kb/178883/en-us

参考URL:http://msdn.microsoft.com/en-us/library/ms682586 …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!