ヘッダーの指示が次のとおりであるとします。
- 独自のシステムで静的ライブラリとしてコンパイルするには:
% gcc -c -ggdb -std=c99 cs50.c -o cs50.o
% ar rcs libcs50.a cs50.o
% rm -f cs50.o
% cp cs50.h /usr/local/include
% cp libcs50.a /usr/local/lib
プロンプトとして「%」を使用していることに注意してください。これは、操作を root として実行する必要があることを示しています。
システムの設定が間違っていない限り、root 権限を使用してファイルを の下のディレクトリにコピーする必要があります/usr/local
。たとえばsudo
、コマンドのプレフィックスとして次を使用できます。
sudo cp cs50.h /usr/local/include
sudo cp libcs50.a /usr/local/lib
/usr/local/include
ディレクトリとはまだなく/usr/local/lib
、次の 2 つのファイル (ディレクトリではない) があると (かなり高い確信度で) 推測できます。
/usr/local/include
ヘッダー cs50.h を含む
/usr/local/lib
静的ライブラリを含む
ls -l /usr/local
おそらくと でこの観察結果を検証する必要がありますfile /usr/local/*
。次に、ファイルを削除し、ディレクトリを作成して、ファイルを新しく作成したディレクトリにコピーする必要があります。
この説明が説明していない唯一のことは、エラー メッセージ (最初は ' cc1: error: usr/local/include: not a directory
' と表示されていた) の先頭のスラッシュが欠落していることです。現時点では、この質問をする際の転記ミスが原因であると考えています。(そして、コメントと編集により、その診断が確認されます。)