44081
コンパイルしたいのですが上手くいきません。できれば詳しめに解説をお願いします。

[![プログラミング](https://i.stack.imgur.com/bW2WI.jpg)](https://i.stack.imgur.com/bW2WI.jpg)

プログラム

```

    #include "pseudo97.h"
    
    typedef struct PERSON* PtrPERSON;
    struct PERSON {
        char name[20];
        long year;
        PtrPERSON next;
    };
    
    int MakeLinkedList( PtrPERSON head)
    {
        PtrPERSON girl;
        New(girl);
        InputString( girl->name);
        InputInt(girl->year);
    
        while(girl->year >0){
            girl->next=head->next;head->next=girl;
            New(PtrPERSON , girl);
            InputString(girl->name);
            InputInt(girl->year);
        }
    
        return 0;
    }
    
    int main(void)
    {
        PtrPERSON head;
        New(PtrPERSON,head);
        head->next=NVLL;
        MakeLinkedList(head);
        // WriteLinkedList( head );
    
        return 0;
    }
    
```

コマンドの結果です。

[![コマンドの結果です。](https://i.stack.imgur.com/cMIYu.jpg)](https://i.stack.imgur.com/cMIYu.jpg)
CC BY-SA 4.0
2018-05-19T08:28:17.040
44078
2018-05-19T14:28:40.933
2018-05-19T14:28:40.933
3060
28572
question
c
コンパイルしたいのですが上手くいきません: pseudo97.h: No such file or directory
「pseudo97.h: No such file or directory」（直訳：pseudo97.hだって？
そんなファイル見当たらない」というエラーですから、正しい場所にpseudo97.hを置けば解決します。

１）pseudo97.h というファイルは、ありますか？  
質問に示されているコードは、自分で書いたものですか、それとも他人が書いたものですか。
自分で書いたものならpseudo97.hがどこにあるか知っていらっしゃるでしょうが、他人が書いたもので、pseudo97.hがどこにある判らないのなら、コードの出典かコードの製作者に問い合わせるなどしてくだし。

２）-I オプションは指定していますか？  
No such file or directoryが出るという事は、標準的なincludeファイルの置き場所である /usr/include/
にはpseudo97.hが置かれていないのだと思います。  
pseudo97.hの場所が判っているのなら、そのディレクトリを -Iオプションで指定することでコンパイルできるようになるはずです。 （-I
オプションは、includeファイルの所在を探すパスを追加するものです）
CC BY-SA 4.0
2018-05-19T09:11:54.833
44080
2018-05-19T09:11:54.833
217
44078
answer
まずエラーの内容を説明し、そのあとエラーの原因を推測した上で、解決法を書きます。

### エラー内容

gcc コマンドのエラー内容だけを取り出すと、以下のようになります。

```

    print1.c:1:22: fatal error: pseudo97.h: No such file or directory
    
```

このエラーは、おおまかに以下のことを言っています。

  * ファイル `print1.c` でエラーが起こっている。
  * `pseudo97.h` が必要とされているが、そのような名前のファイルやディレクトリは見つからない。

つまり、`print1.c` の1行目で `#include` されているヘッダーファイル `pseudo97.h` が見つからない、というエラーです。

### エラーの原因

C
言語の[標準ライブラリ](https://ja.wikipedia.org/wiki/%E6%A8%99%E6%BA%96C%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA)には
`pseudo97.h` というヘッダーはないので、これは自前で用意されたヘッダーファイルです。おそらく書籍等で C
言語を学習なさっていて、そちらから提供されているヘッダーファイルを上手く準備できていないのでしょう。

また質問者さんは1行目を `#include "pseudo97.h"` から `#include <pseudo97.h>`
に変えて試されているようです。たしかに `#include` のあとを `"ぴよぴよ"` にするか `<ぴよぴよ>`
にするかでは、意味が違います。今回の場合は `#include "pseudo97.h"` にすることになるでしょう。

### 解決法

参考になさっている書籍等を確認して、`pseudo97.h` というファイルが提供されていないか確認してください。

今回は質問者さんのデスクトップ (`C:\Users\babachan\Desktop`) 上で作業なさっているようですから、とりあえず
`pseudo97.h` をデスクトップに置けば、gcc が `pseudo97.h` を見つけてくれるようになるので、このエラーは解決します。

`No such file or directory` はでなくなったものの他のエラーが出た場合、追加でご質問頂ければと思います。
CC BY-SA 4.0
2018-05-19T09:16:35.497
44081
2018-05-19T09:16:35.497
19110
44078
answer