• 締切済み

VC++6.0ビルド後の処理で黙り込み

VC++6.0でDLLを作ったのですが、 プロジェクトの設定でビルド後の処理に copy debug\dll.dll c:\usedll\debug\dll.dll のようにしてリビルドたところ ----------------------------------------------- ................. コードを生成中... リンク中... ライブラリ Debug/MfcDll.lib とオブジェクト Debug/MfcDll.exp を作成中 ビルド後の処理 ----------------------------------------------- ここでビルドが固まってしまいます。 ビルドの中止を押しても復帰せず、VC++を閉じようとしてもビルド中はダメとおこられます。 Ctrl+Cでもダメです。 何度やっても再起動しても確実に止まります。 copy じゃなくてdirとかでも止まります。 ビルド後の処理を外せばちゃんとビルドできます。 なにか心当たりのある方いらっしゃいましたらアドバイスお願いいたします。

  • ystk
  • お礼率83% (55/66)

みんなの回答

回答No.2

ちょっと実験してみたのですが、止まることはありませんでした(Win2000Pro)。 ただ、ビルド後の処理に「dir $(TargetPath)」と書いた場合で、 パス(上位のディレクトリを含む)が空白を含むと 実行エラーになります。 「dir "$(TargetPath)"」と書くと期待通りの挙動でした。

ystk
質問者

お礼

アドバイス有り難うございます。 DOS窓では問題なくコピーできるので 再インストールしかないのでしょうか? とりあえず今は手動でコピーしています。 くやしいなぁ

noname#2009
noname#2009
回答No.1

思いつく限りで ・copy debug\dll.dll の名前が MfcDll.dll ・コピー元コピー先いずれかがエラー等によりロック状態 ・システムに cmd32.exe がない 実際にはここに書いたのとは違い、名前は当然合わせて あると思うので、多分1番目はなし。 コピー不可の場合はメッセージが出るだけで、ビルドが フリーズすることはないはずなので2番目も多分なし。 3番目については、このような状況になったことが無いの で予測がつきません。 というわけで、コマンドライン(「ファイル名を指定して 実行」でも)から同じコマンドは通るんでしょうか。 もし通るのなら、VC入れ直し?ぐらいしか思いつかない です。

ystk
質問者

お礼

アドバイス有り難うございます。 名前はあわせてあります(スミマセン)。 DOS窓では問題なくコピーできるので 再インストールしかないのでしょうか? とりあえず今は手動でコピーしています。 くやしいなぁ

関連するQ&A

  • VC++のビルドとリビルドの違い

    VC(マイクロソフトのVisual C++)で、ソースをコンパイルするときにビルドを押すと思うのですが、ビルドの隣にリビルドがあります。このビルドとリビルドの違いはなんなのでしょうか?? こんなときは「ビルド」でこんなときは「リビルド」のような具体的な事例もできれば教えて頂ければ幸いです。

  • ビルドについて

    VC++であるプロジェクトのビルドプロパティで疑問に思った事があります。 あるプロジェクトを"hoge"として、hogeはfunction.dllを使っています。 hoge.cpp は hoge.h と function.h を インクルードしています。 ビルドされた hoge.exe は function.dll を使って実行します。 function.dll を新しい物に変えると 変更が適用されて正常に実行できます。 しかしよく見るとhogeは、function.lib をリンクしていました。 これだと静的リンクになり、dllを変えても意味が無いと思っていたのですが、 何故正常に dll の置換えだけでうまく動くのでしょうか?

  • VC++6.0からVC++2010への移行

    マシンAの VC++6.0 から マシンBの VC++2010 へ移行し、Releaseモード でビルドした結果、正常動作しませんでした。 Releaseモード、Debugモード ではエラー、警告ともにありません。 ■ 6.0 と 2010 パラメータ ■ ・共有 DLL で MFC を使う ・マルチスレッド DLL ・警告レベル 3 ■マシンA環境■ ・Windows XP Professional 2002 Service Pack 2 ・.NET Framework 1.1 ・Visual Studio 6.0 Enterprise Edition ■マシンB環境■ ・Windows XP Professional 2002 Service Pack 3 ・.NET Framework 1.1 、2.0 、3.0 、3.5 、4.0 ・Visual Studio 2005 Professional Edition ・Visual Studio 2010 Professional Edition ・Visual C++ 2008 Redistributable 作業の経緯と致しましては、6.0 のプロジェクトを VS2008 でビルドし、 sln ファイルを生成しました。 その後、生成された sln ファイルをもとにVS2010でエラーと警告の解除作業をしました。 Debugモード で エラー、警告 がないことを確認し、Releaseモード でビルドした結果、現状に至っております。 マシンB環境で問題なく 6.0 プログラムが動作している(Debug、Releaseともに)ことから環境面に原因があると考えております。 どのような問題が考えられるのか、また、どのような調査を行うべきか、ご教示頂きたいです。 よろしくお願い致します。

  • VC++ 2010でlog4cxxビルドできない

    Windows7 + VC++ 2010 Expressで、log4cxxをビルドできずに困っています。 log4cxx本家の手順等を参考にして環境構築をしていますが、手順二つ目の projects/log4cxx.dsw のファイルを開く際に、 ”プロジェクトファイル C:\log4cxx\apr\apr.dspが読み込めません というエラーが表示されプロジェクトのアップデートに失敗します。(ビルドの段階までいっていません) log4cxx.dswは、VC++6Workspaceとなっているので、いきなり2010で開くのではなく、一旦VC++2008でアップデートしてから2010で開いてみましたがダメでした。 VC++ 2010 + log4cxxで、ビルドできた方いませんか? 参考URL http://logging.apache.org/log4cxx/building/vstudio.html

  • リビルド後に実行しようとするとビルド要求のメッセージが出る

    VC++6.0のMFCを使って開発しているアプリケーションがあります。そのアプリケーションをビルドする際に起きる問題についてです。 リビルドした後に実行ファイルを実行しようとすると「ビルドしますか?」というメッセージが出てきます。リビルドしたばかりなのに何故ビルドが必要なのかわかりません。それから、再ビルド時には全ソースファイルがコンパイルされているようですので、実行されるまで時間がかかってしまいます。 リビルドしたときにはコンパイルエラーや警告はありませんし、リビルド後には確かに実行ファイルは生成されています。「ビルドしますか?」のメッセージが出ても「はい」ボタンをクリックしてビルドが完了すれば実行ファイルが実行されます。この問題は開発当初からあった問題ではなく、あるときから突然起きた問題です。いつから起きた問題なのかはわかりません。ちなみに、この問題は「バッチビルド」を使って複数のコンフィグレーションをリビルドした時に起きるようです。1つのコンフィグレーション(実行したいコンフィグレーション)のみをリビルドした後にはこの問題は起きません。また、リリース版、デバッグ版ともにこの問題は起きます。 下記はメッセージの内容です。(英語版のVCなのでメッセージは英語です。) (xxxは実行ファイル名、aaa、bbb、cccはソースファイル名) ---------------------------------------------------- One or more files are out of date or do not exist. These files need to be build: .\Debug\xxx.bsc .\Debug\xxx.exe .\Debug\aaa.obj .\Debug\bbb.obj .\Debug\ccc.obj <more file ...> Would you like to build them? ---------------------------------------------------- 原因や解決方法をご存知の方、ご教授をお願い致します。 環境:Win2000(日本語版)、VC++6.0(英語版)、MFC

  • EclipseでVC++をつかう

    VC++を使いたいのですが **** Rebuild of configuration Debug for project testcpp **** **** Internal Builder is used for build **** cl /c /EHs /MD /Zi /Ic:\program files (x86)\microsoft visual studio 10.0\vc\include\ /nologo /Fosrc\xxxxx.obj ..\src\xxxxx.cpp Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. cl : コマンド ライン error D8003 : ソース ファイル名がありません Build error occurred, build is stopped Time consumed: 251 ms. となってしまってビルドできません よろしくお願いします

  • VS2010にて、依存関係とビルド順

    2つのプロジェクトを内包するソリューソンがあるとします。 片方はDLLで、「a.dll」とします。 もう片方はEXEで、「b.exe」とします。 EXEは「a.dll」を使用していて、「a.lib」をリンクしています。 (プロジェクトのリンカーの追加の依存ファイルに「a.lib」を記述) 依存関係も設定し、ビルド順はDLL,EXEの順になっています。 それで、DLL側のソースを更新し、ビルドを行いました。 結果、「a.lib」と「a.dll」が更新されました。 しかし、EXE側はビルドされませんでした。(更新不要で省略された) 「a.lib」をリンクしているので「a.lib」が更新されれば、 少なくともEXE側もリンク(ビルド)する必要があるはずです。 このような場合どのように設定すれば良いのでしょうか? ちなみに、それぞれを1つソリューソンに分け、 DLL側をビルド、EXE側をビルドとした場合は、 EXE側はリンク(ビルド)されました。 また、Visual Studio 2008以前はこのような事はありませんでした。 Visual Studio 2010になって、この辺りの処理が変わったのでしょうか?

  • DLL.libが開けません!

    .Net C++ でMAINとそのMAINが使用するDLLを作りました MAINの中で #pragma Commennt (lib,'DLL.lib') を指定してあります リソリューションホルダー直下のDebugホルダーにはDLLのdll、exp、ilk、lib、pbdが出来ています にも拘らずリビルトすると LINK : fetal error LINK 1104 'DLL.lib'を開くことができません とのエラーが出てしまいます アチコチ修正したり、ネットで調べましたが解決出来ません 3日も悪戦苦闘しましたがギブアップ状態です ぜひご指導願います

  • VC6.0のデバッグで1つ以上のブレイクポイントが

    VCのサンプルプログラムをデバッグしようとしています。 デバッグ開始を実行すると、exeにデバッグ情報がありません。と表示され、 その後、ひとつ以上のブレイクポイントが設定できませんでした。と表示されます。 プロジェクトの設定でWin32 DEBUGを設定 ビルドメニューのアクティブな構成もWin32 Debug を選択していて、リビルド、コンパイルしています。 別のプロジェクトだと、うまくいくのですが・・・ ブレイクポイントの設定位置も問題ないかと思うのですが、 どなたか、お心当たりございましたら、よろしくお願いします。

  • プロジェクトのVC6からVC9の移行時のエラー

    現在、VC6で作成したプロジェクトをVC9に移行しています。 そこで、Debug版でコンパイルするとリンク時に下記エラーがでます。 //下記が、エラー内容 1>LINK : fatal error LNK1104: ファイル 'mfc42d.lib' を開くことができません。 Release版でコンパイルすると発生しません。 他の質問で同じような内容がありましたが、その対策内容を実行しようとするも、よく解りませんでした。 //////////////下記が参考にした解決策等////////////////////////////////// 今試しにVC6で・MFCアプリ(DLL共有) ・SDIアプリ・そのほかはデフォルトという条件で作って、VC2005 Proに変換してみたところ、問題なくコンパイル/リンクまでできました。もしかしてプロジェクトの中(ソリューションのツリーの中)に明示的にmfc42d.libを登録しているということはありませんか?vcのプロジェクトは"プロジェクト名.vcproj"で、単なるテキストファイルなので、その中もよく見てください。 /////////////////////////////////////////////////// 他に解決策はありますか?

専門家に質問してみよう