• ベストアンサー

”書きこみできません”とエラーがでます。

C言語初心者です。 VC++.NETを使って独学でC言語の学習をしているのですが、デバッグをすると ----------------------------------- listen1 fatal error LNK1201: プログラム データベース 'd:\listen1\Debug\listen1.pdb' に書き込めません。ディスク容量不足、パスが無効、また十分な特権がない可能性があります。 ----------------------------------- というエラーがでて、実行できません。 リビルドすると同様のエラーとそのほかに「削除できません」といった内容のエラーがでます。 無知なもので原因すらわからない状態です。 ちなみに、ほかのファイルではきちんと実行できます。 作ったのは、 「猫でもわかるプログラミング」C言語編 第24章 丁半ゲームを作ろう  を参考にして作った丁半ゲームです。多少変えた部分があるのですが、そこが悪かったのでしょうか? また、この質問にソースを書いたほうがいいのでしょうか? わからないことだらけで御迷惑おかけしますが、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • V-bravo-U
  • ベストアンサー率51% (155/301)
回答No.4

「プログラミング」というディレクトリ名があるようですが、 「prog」に変えてみたらいかがでしょうか? #まず、ディレクトリ名を変えてみて、コンパイルして  下さい。それでもだめなら次の作業を試してみて下さい。 削除の前に次のコマンドを試してみて下さい。 attrib -r listen1.pdb この後で「del listen1.pdb」で消えませんか? 消えたらコンパイルしてみて下さい。 /**** 補足 ****/ XPホームエディションということで、セキュリティータブ がないものと思われます。ここで言われている「フルアクセス」は されているものと思って下さい。 あと、listen1.pdbのファイルサイズは問題ないものと思われます。

peggy_pegi
質問者

お礼

御回答ありがとうございます! なんと、「プログラム」を「prog」に変えたら、無事コンパイルできました! 日本語ってやはり規格外なんでしょうか? とにかくできてよかったです!これからは半角英数字でファイル名をつけようと思います。 それでは本当にありがとうございました。

その他の回答 (3)

noname#5537
noname#5537
回答No.3

「読取専用」にはなっていないわけですよね? 当然 VC を終了した状態でも削除できないんですよね? ディスクの空き容量は問題なさそうですし。 # listen1.pdb のサイズってそんなにでかくないですよね? コマンドプロントで, del listen1.pdb とかやってもだめですよね? エクスプローラで listen1.pdb 右クリック, 「プロパティ」の「セキュリティ」タブで, アクセス許可がどうなっているかも確認してみてください。 削除を実行しようとしているユーザーに対して, 「フルコントロール」が許可されていますでしょうか? # あとは,scandisk かけてみるとかですかねぇ?

peggy_pegi
質問者

お礼

度々ありがとうございます。 本当に助かります。 コマンドプロンプトもだめでした・・・。 ----------------------------------------- D:\プログラミング\listen1>del debug D:\プログラミング\listen1\debug\*、よろしいですか (Y/N)? y D:\プログラミング\listen1\debug\listen1.pdb アクセスが拒否されました。 ----------------------------------------- エクスプローラーでみると、listen1.pdb以外のファイルは消えているのですが・・・。 あと、プロパティをみてもセキュリティタブがないのですが、XP(HOME)はないのでしょうか? それと、listen1.pdbが395KBでした。これってサイズ大きいのでしょうか? 御回答いただくたびに質問が増えてしまいます・・・。本当にすみません。

noname#5537
noname#5537
回答No.2

一度 debug フォルダを削除してみてください。 # ディスク容量は問題ないですよね?

参考URL:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/LNK1201.asp
peggy_pegi
質問者

お礼

御回答ありがとうございます。 debugフォルダを削除しようとしたところ、 --------------------------- ファイルまたはフォルダの削除エラー --------------------------- listen1.pdb を削除できません。アクセスできません。 ディスクがいっぱいでないか、書き込み禁止になっていないか、 またはファイルが使用中でないか確認してください。 --------------------------- OK --------------------------- というダイアログが出てしまいました。 ちなみに、空き容量は8GBほどあります。 参考URLも見ましたが、どれも思い当たる節はありません。 作ったプログラムを別のフォルダにコピーしたら正常に動きました。 やはり、このフォルダはあきらめて別のフォルダで動かしたほうがよいのでしょうか? また、削除もできないのですが、こういう場合放って置くしかないのですか? 本当にわからないことだらけで・・・。すみません。

  • uyama33
  • ベストアンサー率30% (137/450)
回答No.1

エクスプローラで listen1.pdb が見えるようにして、 このファイルのところで右クリックして ファイルのプロパティーを 見て下さい。 チェックを全て外してから、 適用のボタンをクリックしてみたらどうでしょうか? たぶんファイル属性が読み込み専用になっていると思います。

peggy_pegi
質問者

お礼

早速の回答ありがとうございます。 確認した所、どうやら読み込み専用にはなっていないようです・・・。 そのほかに原因になりそうなものってあるでしょうか?

peggy_pegi
質問者

補足

listen1フォルダのプロパティを開いたところ、読み取り専用のチェックボックスに四角がついていました。 検索したところ、「四角はXPの仕様で、OFFと言う意味である」とのことで問題ないらしいですが・・・。 これも何か関係あるのでしょうか?

関連するQ&A

  • ビルドエラー LNK1201

    開発環境は、VS.net 2003 です。 あるプロジェクトについて、デバッグを終了して、再度ビルドすると 「LINK : fatal error LNK1201: プログラム データベース 'c:\myprog\Debug\xxx.pdb' に書き込めません。ディスク容量不足、パスが無効、また十分な特権がない可能性があります。」 と表示され、ビルドが完了しません。 ソリューションを開いたままでは、改善されず。 他のソリューションを開いても、改善されず。 VSを終了すると、改善されます。 なので、デバッグ後は、一度VSを終了させてから、ビルドし直しています。

  • コンパイルエラー? VC6

    VC6を使って cl test.cとしたところ、 LINK: fatal error LNK1207: incompatible PDB format in ".......odb"; delete and rebuild NMAKE : fatal error U1077: 'link' : リターンコード '0x4b7' Stop, と表示されました。 少ない情報ですが、これは何を意味しているのでしょうか?

  • #ifdef _DEBUGが効かない

    こんにちは。 Win2000、VC++6.0使用。 今までC言語でプログラムを組んではいましたが、 #define _DEBUG #ifdef _DEBUG print(...); #endif というようにデバッグ用のコードを入れたことはありませんでした。 このような便利なものがあると知り、早速使ってみたのですが、 #define _DEBUG の一文をコメントアウトして、再コンパイル(リビルド) して実行してみたのですが、 普通に #ifdef _DEBUG #endif で囲まれた部分が実行されてしまいます。 #define _DEBUG を宣言しなければ、実行されないと思っていたのですが 自分の勘違いでしょうか? よくわかりません。 どなたかご存知の方、よろしくお願いします。

  • Windows7にVC++をインストールしましたが

    うまくリビルドできません。リビルドすると LINK : fatal error LNK1104: ファイル "Debug/test.exe" を開けません。 と表示されます。実際、VC++の”開く”から探すとDebugの中は空です。 さらに不思議なことに、コンピュータから開いていくとMyprojectsの中が空になっています。 どういう不具合なのでしょうか。ご存知の方いらっしゃいましたらお教えいただければ幸いです。

  • リンクエラーがでます。

    VC++を使っていて、 LINK : fatal error LNK1104: ファイル "Debug/test3.exe" を開けません。と出てプログラムが組めません。 どうしたらいいのでしょうか?

  • 外部シンボル "_main" は未解決です というエラーが出ます

    初めまして、プログラミング初心者です。 VC++6.0を使っています。 Win32コンソールアプリケーションで書籍に載っていたサンプルプログラムを実行したところ、 『LIBCD.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です』 『Debug/shi.exe : fatal error LNK1120: 外部参照 1 が未解決です。』 というエラーが出ます。 元々C言語のプログラムなのでmain関数が必要だということはここのログを見て分かったのですが、C++の場合はどのようにすれば良いのでしょうか? 最終的にはこのプログラムをBorland社のC++Builderで使えるようになりたいのですが… プログラムを載せたいのですが、書籍のプログラムをここに載せてもいいのでしょうか?禁止事項を読んでみたのですが、いまいちよく分からなかったので… 初歩的なところから躓いてしまい、全く進めない状況です。 大変恥ずかしいのですが、どなたかご教授願えませんでしょうか。お願いします。

  • ブレークポイントが設定できない。。。

    VC++6.0、OSはWindows2000 を使用しています。 MFCのダイアログベースのEXEを造っています。 デバッグするためにブレークポイントを設定したのですが、実行時に 止まりません。 デバッグモードでリビルドし、pdbファイルも作成されています。 デバッグ対象のEXEは ~/debug/xxx.exe となっているのも確認しています。 デバッグ実行前に設定すると、赤丸でちゃんとマークされますが、 実行すると以下の文言のメッセージボックスが表示され、設定した ブレークポイントは無効になっています。 「1つ以上のブレークポイントが設定できませんでした。 これらのブレークポイントは無効です。実行プログラムはプログラムの始めで 停止します。」 この後、実行中にブレークポイントを設定しようとしてもできません。 考えられる原因としては何があるでしょうか? 識者の方、ご教授願います。

  • リンクエラーが出ます

    ウィンドウ枠を作るプログラムで、 1>text1.obj : error LNK2019: 未解決の外部シンボル "unsigned short __cdecl InitApp(struct HINSTANCE__ *)" (?InitApp@@YAGPAUHINSTANCE__@@@Z) が関数 _WinMain@16 で参照されました。 1>F:\C言語\猫でも分かるW\text1\Debug\text1.exe : fatal error LNK1120: 外部参照 1 が未解決です。 1>ビルドログは "file://f:\C言語\猫でも分かるW\text1\text1\Debug\BuildLog.htm" に保存されました。 1>text1 - エラー 2、警告 0 と言うエラーがでました。 サイトを調べたのですが、わかりません。

  • エラーについて

    file.obj : error LNK2001: 外部シンボル "_drand48" は未解決です Debug/file.exe : fatal error LNK1120: 外部参照 1 が未解決です。 link.exe の実行エラー と出てしまいます。どうしたら解決しますか?

  • gethostbynameを使うとエラーが出る

    VC++2010EEを用いています デバッグすると出力画面に 'C:\Windows\SysWOW64\rasadhlp.dll' を読み込みました。Cannot find or open the PDB file このような感じのが沢山出てしまいます。(違うdllがいくつも) gethostbynameをコメントアウトするとそのようなエラーは出ません。 しかし、ホスト名からIPアドレスを取得したいのでどうしてもこれを用いたいです。 どうしたらよいのでしょうか?

専門家に質問してみよう