- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VC++でDLLを作っていますがぁ~???)
VC++でDLLを作る際の注意点と解決策
このQ&Aのポイント
- VC++でDLLを作成する際に、ソリューションを分割して呼出し元とDLLを別々に作成する方法がありますが、それには注意が必要です。リビルド時に『DLL.dllが無いぞ!』というエラーが出ることがあります。その場合、DLLソリューションから呼出し元EXEのディレクトリにDLL.dllをコピーすることで解決できます。
- DLLとは、Dynamic Link Library の略で、複数のプログラムで共有される関数やリソースを含んだファイルです。DLLを作成する際は、呼出し元のプロジェクトにDLL.libのパスを追加する必要があります。
- DLLの文字セットには『設定なし』を指定していますが、呼出し元の文字セットがマルチバイトである場合でも整合性が取れます。これは、DLLが自身で文字セットの変換を行っているためです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
DLLが作っているライブラリの名称でしょうか。 質問 DLLソリューションからDLL.dllをコピーしなくとも良い方法はありますか? アプリケーション側の環境設定でパスにDLL.dllを置いたディレクトリを追加しておけば動くと思いますよ。 愚問(1) DLL.dllとは何者ですか? 私にはDLL.libが必要なのですがぁ~ DLL.dllが動的結合なライブラリの本体です。これはmain関数を持たないだけで実質的に実行プログラムと同等のものです。DLLを使うプログラムは実行時にDLL.dllを動的にリンクして実行されます。 DLL.libはVisualC++でDLL.dllの関数を名前でリンクできるようにするためのスタブファイルです。 愚問(2) サンプルのように同じソリューションに入れるメリットは何ですか? 別のソリューションだとパスとか依存関係とかを記述するのが面倒だからでは? 愚問(3) DLLの文字セットには『設定なし』を指定しています。呼出し元の文字セットはマルチバイトです。なぜ整合性が取れるのでしょうか? よく知りませんが日本語の受け渡しとかしなければ関係ないのでは?
お礼
ありがとうございます 良く理解することができました 今後とも宜しくご指導願います ありがとうございました