ビルド前・リンク前・ビルド後それぞれ実行して欲しいコマンドラインを指定できます。ビルド後に、バッチファイルを呼び出して、ビルドに成功したライブラリファイルとヘッダファイルをお好みのフォルダへ自動的にコピーするといったことができます。あ・・・あー、たぶんこれだ・・・!!と思っております。上記のとおり、もう少し自分の理解度を深めたうえで、そのあたり実践してみたいと思います。そのうえで、不明なことが出てきた際には、是非また質問させてください。ちなみにDXライブラリを使うときの設定をまとめたプロパティページを以前この掲示板に投稿しました。ありがとうございます。実は、かねてより、お断りなくそれを使わせていただいております(~~;ですが、意味もわからず利用していたのだと気づかされましたので、この機会にプロパティページのなんたるかを一度勉強したく思います。さんが書きました:Debugで作成したライブラリファイルとReleaseで作成したライブラリファイルをごっちゃにしないでくださいね。はいm(__)mライブラリと参照側(本体)の、Debug/Releaseは統一してビルドするように決めています。念のため確認させてください、Debugで作成したLibを、参照している本体プロジェクトがあったとして、その際、本体プロジェクトをReleaseビルドすると、どのような問題があるのでしょうか?LibをDebugビルドしたときの(要らない)モロモロがexeについてくる⇒処理が遅くなるかも!⇒配布用には不適切!・・・というの認識であっておりますか?引用した次の一行をよく読んでください。Debugで作成したライブラリファイルとReleaseで作成したライブラリファイルをごっちゃにしないでくださいね。間違ったファイルを指定すると、これまたリンカエラーになるはずですので。そもそもリンクできないので、処理が遅くなるとか配布用には不適切とか考える以前のことです。オフトピックちなみにネットでもし公開するために配布する場合は、必ず「Releaseモード」で作成したものを配布してください。Debugモードで作成したものを配布することは禁止されています。おっしゃるとおり、実験しました。指定しないでビルドした場合は以下はありませんでした。)勉強します)いえ、大丈夫です。...)をコード内で指定すると、objファイル内に/DEFAULTLIB:"..."という、link.exeのオプションが追記される、ということですね。それがビルドのリンク時に使用されている、ということです。その2つが理解できれば、十分ではないでしょうか。link.exeに何を指示しているか知ってれば大丈夫です。リンク先を読ませていただいたのですが、まだ自分の中に入りきっておりません。オプションを指定するのにには、次の新しいプラグマを使用します。わからないけれど、それにパスを書けばいいという、おまじないくらいの認識でしかなかったです。数日かけて勉強したいと考えていますのでお時間ください。いえ、こちらに関しても大丈夫です。読みづらい日本語で書いてあって読めたもんじゃなかったと思います。あのページは内容的には、/DEFAULTLIB:"..."以外のリンカーオプションを指定するにはどうしたらいいか?という質問ページです。"...")を新しく用意しました、という紹介ページでもありますね。ファイルまたは実行可能ファイルにコメントを挿入する。...)で、リンカーにこのコメントを渡すことができる。今のKettyさんなら、もうしっかり押さえれてる情報ですけどね。"/DEFAULTLIB:LibTest.lib")の様にも書けます。libファイルを指定することも可能です。CCC.lib")一応、知識として知っておいてください。実態(LibTest.lib)は、ほにゃららのままで行方不明だよ、ということで合ってますでしょうか?はい、合ってます。「追加のライブラリディレクトリ」を指定すると、link.exeに/LIBPATH:C:\プロジェクトに追加すべきLibフォルダというリンカーオプションが指示されます。これ、名前のとおりパスとしてしか機能してくれないんですよね。相対パスを指定したlibファイルを探すときに、「/LIBPATH:"..."」で指定したパスも基点として加えてファイルを探してくれるようになります。指定されたオプションとして書かれています。指示されたものでは無いので書かれていないことも確認できます。(objファイルに記述されているので)私からの指摘に関しては大丈夫なのではないでしょうか。皆さんからこの辺のことで教えを頂いたときに、それを理解する前提知識としてお役に立てれば幸いです。5年前>へにっくすさんそもそもリンクできないので、処理が遅くなるとか配布用には不適切とか考える以前のことです。ありがとうございますm(__m)さっそく、やってはイカンであろうことを実験して、へにっくすさんがおっしゃることの正しさを理解してみました。DebugビルドしたLibファイルを参照したプロジェクトを作ってReleaseビルドしてみたところ、以下のような警告が出ました。指定によって無視されます。コード生成しています。コード生成が終了しました。オプションが指定されています」のことだそうです。っくすさんがおっしゃることがこれなのだと分かりましたm(__)mオフトピック警告は出るけど、ビルドはとおっちゃうのですね。Debugモードで作成したものを配布することは禁止されています。ありがとうございます。こちらについては、過去ログで拝見して存じておりました(^^ヾのちのちこのトピックをご覧になった人のために、声を大にして書いておきます。Debugモードで作成したものを配布することは禁止されています。libファイルを指定することも可能です。CCC.lib")一応、知識として知っておいてください。いう豆知識は助かります。私はたぶん検索の仕方もわからなかったと思うので・・・。ありがとうございます。私からの指摘に関しては大丈夫なのではないでしょうか。皆さんからこの辺のことで教えを頂いたときに、それを理解する前提知識としてお役に立てれば幸いです。この度は大変ありがとうございました(^^)私の未熟さゆえ、度重なる質問でお手数おかけしました。貴重な時間をおかけくださって説明してくださり感謝します。オプションが指定されています」のことだそうです。っくすさんがおっしゃることがこれなのだと分かりましたm(__)mオフトピック警告は出るけど、ビルドはとおっちゃうのですね。ビルド通っちゃうのですね。ライブラリの依存ファイルによっては通らないこともありますよ。そのまま通るわけじゃないのは理解していただけたようで、安心しました。皆様のご助言のおかげで、かなりすっきりしました。当たり前のことなのかもしれませんが、のちのちこのトピックを見る人のために、ここまでで私が分かったことを、DXライブラリを引用してまとめておきます。DXライブラリでは、まず、以下のように.hと.libがまとめてフォルダに入っています。|__DxLib_d.libここで、.libについては、2つあって、ファイル名に"_d"が付与されているlibと、付与されていないlibがセットです。DxLib.h内には、Debugビルド時、Releaseビルド時でそれぞれにリンクするlibが分岐されるように#pragma~が記述されています。Debugビルド時は、"_d"が付与されているlibが、Releaseビルド時は、付与されていないlibがリンクされるようになっています。っくすさんが教えてくださった内容に通じますね。Debugで作成したライブラリファイルとReleaseで作成したライブラリファイルをごっちゃにしないでくださいね。間違ったファイルを指定すると、これまたリンカエラーになるはずですので。DXLIBでもDebugとReleaseでファイル名を別にしてあるはずです(ソースを直接みればわかると思いますが)。ISLe()さんもアドバイスの中でヒントをくださっていました。マクロや環境変数を利用すれば、デバッグ版のライブラリファイル名には末尾にdを付けたり、コピー先を任意に変更できたり、便利に使えます。私も真似してみたところ、正常にリンク、およびビルドできることを確認できました。そのときの手順を書いておきます。絶対パスだとのちのち困るので絶対パス指定しない。Release用#endifStep2.LibTestプロジェクトをビルドする際、DebugビルドとReleaseビルド両方を行い、Debugビルドによってつくられた.libファイルには、ファイル名にもれなく"_d"をつけておく。Step3.適当なフォルダを作って、その中にLibTest.h、LibTest.lib、LibTest_d.libをコピーする。全般)この2点をプロパティ設定(いずれもStep3の適当なフォルダを指定)する。理解してみるととても単純なことでした。あとは、上記Stepの面倒そうな部分を自動化しちゃえばいいね!ということになります。それについては、ISLe()さんがアドバイスしてくださっています。Studioのプロジェクトには、ビルド時に任意のコマンドを実行する機能があります。ビルド前・リンク前・ビルド後それぞれ実行して欲しいコマンドラインを指定できます。ビルド後に、バッチファイルを呼び出して、ビルドに成功したライブラリファイルとヘッダファイルをお好みのフォルダへ自動的にコピーするといったことができます。マクロや環境変数を利用すれば、デバッグ版のライブラリファイル名には末尾にdを付けたり、コピー先を任意に変更できたり、便利に使えます。これにて解決とさせていただこうと思います。万人向けとして、「Releaseビルドしたものを配布しましょう」というのに間違いはないのですが、「Debugビルドしたものを配布してはいけません」というと正しくなくなってしまいます。言うとしたら「Debugビルドした実行形式を配布してはいけません」というふうに言わないといけません。それでも厳密には正しくないですが。配布を許可されていないのは、スタートアップルーチンなども含めマイクロソフトが提供しているデバッグ版のライブラリです。Studioをインストールしたフォルダにあります。それらを含まなければ配布は可能です。DXライブラリにデバッグ版があるのにおかしいと思いませんでしたか?ヒープメモリのチェック用などデバッグ版にしかない関数を呼び出していたりするとリンクエラーになりますが、一切ライブラリに依存していないソースファイルから生成されたオブジェクトファイルであればDebugとReleaseの差異は最適化オプションくらいにしか現れません。ミクプラは自由にリンクできます。