
Ubuntu日本語フォーラム

ログインしていません。
emacsで作成したプログラムがコンパイルできません。
初め、
$gcc -o 1 1.c
1.c:19: error: stdio.h: No such file or directory
となってたのですが、過去の投稿で同じトピックがあったので
同じようにlibc6-devパッケージをダウンロードしてみたところ
まったくの無反応でした。
何故でしょうか?
プログラム内容は以下の通りです。
#include<stdio.h>
int main()
{
int s;
int total = 0;
for(s=1;s<=10;s++)
{
total += s;
printf("1から%dまでの和は%dです\n",s,total);
}
return 0;
}
オフライン
build-essentialを入れてみたら、いかがでしょうか?
$ sudo apt-get install build-essential
※ 端末で実行して下さい。
オフライン
name@name:~$ sudo apt-get install build-essential
[sudo] password for name:
E: ロック /var/lib/dpkg/lock が取得できませんでした - open (11 Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
となりました。
パッケージマネージャでインストールしたらまたもや無反応でした。
オフライン
synapticかupdate-managerかdpkgかaptitudeがどこかで同時に動いてませんか?
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
改めてやってみましたが以下のようなメッセージが出ました。
コンパイルはやはりできませんでした。
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
build-essential はすでに最新バージョンです。
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
libcompfaceg1 xemacs21-basesupport xemacs21-mulesupport
これらを削除するには 'apt-get autoremove' を利用してください。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 334 個。
オフライン
インストールを行うためのツールは二つ以上同時に使用出来ません。
ツールは正しい言葉では無いですが
・パッケージマネージャ
・アップデートマネージャ
・追加と削除(これは違ったかな?)
上記のうち何かが起動しテイル状態で、端末からのapt-getやdpkg等の操作を行うとエラーが出ます。
確認してから#2を実行してみてください。
必要なライブラリが揃うはずです。
オフライン
build-essentialは正常に導入できているようです。
>コンパイルはやはりできませんでした。
コンパイルの際に何かエラーは表示されますか?
正常にコンパイルできていれば、次のように何もエラーは出ず、
もとのプロンプトに戻るはずです。
ubuntu@ubuntu-laptop:~/test$ gcc -o 1 1.c ubuntu@ubuntu-laptop:~/test$
ここで、$ ./1 を実行すると、下記のように表示されます。
ubuntu@ubuntu-laptop:~/test$ ./1 1から1までの和は1です 1から2までの和は3です 1から3までの和は6です 1から4までの和は10です 1から5までの和は15です 1から6までの和は21です 1から7までの和は28です 1から8までの和は36です 1から9までの和は45です 1から10までの和は55です
オフライン
まず、端末で
locate stdio.h
と入力してみて下さい。/usr/include/stdio.hのようにstdio.hの場所が示されたらヘッダファイルはインストールされています。
次に、
gcc -I/usr/include -o 1 1.c
としてみて下さい。これでコンパイルできればgccは正常に動いています。
この場合、なぜ、標準で/usr/includeをみてくれないのかが謎です。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
複数の指示を行うと、混乱してしまいますので、ultmix22さんの回答を待ちましょう。
エラーが出ていないようであれば、単に確認方法を間違えているだけかも知れませんし。
オフライン
ということで、解決ですね。
プログラミングって結構おもしろいので、頑張って下さい。
オフライン
できればなにが問題だったのか、どのようにして解決したのか投稿していただければ、ありがたいです。よろしくお願い致します。
オフライン
基本的に、#2と#10でコンパイルできるはずですが、もし、原因がわかるなら参考になりますので、お伝えいただけると助かります。
あまり時間もとれないので、原因追求に関しては僕からフォローできるかどうかわかりませんけど。
オフライン