Sebagai contoh:
hsmyers@ubuntu:~/c_dev$ cat hello.c
#include <stdio.h>
int main(int argc,char **argv) {
printf("Hello World!\n");
return 0;
}
hsmyers@ubuntu:~/c_dev$ gcc -c -o hello.o hello.c
In file included from /usr/include/stdio.h:28:0,
from hello.c:1:
/usr/include/features.h:323:26: fatal error: bits/predefs.h: No such file or directory
compilation terminated.
Di tebakan di suatu tempat setelah mencoba memperbaiki pesan kesalahan:
/ usr / bin / ld: tidak dapat menemukan crt1.o: Tidak ada file atau direktori seperti itu
Saya sudah mengecilkan segalanya. Adakah yang bisa menyarankan?
Jawaban:
Anda perlu menginstal
gcc-multilib
paket yang membawa header spesifik 32bit ke sistem operasi 64bit Anda.sumber
Ini berfungsi baik untuk saya, pada instalasi oneiric baru.
/usr/include/x86_64-linux-gnu/bits/predefs.h
disediakan oleh paket libc6-dev, mungkin itu tidak diinstal dengan benar?Anda dapat "menginstal ulang" paket itu dengan:
Namun, jika file itu ada, maka sepertinya jalur pencarian kompiler Anda tidak mencari di tempat yang tepat untuk file itu. Anda dapat memeriksa dengan menjalankan yang berikut ini:
yang harus mencetak jalur pencarian untuk menyertakan file. Milik saya mengatakan:
Jika itu tidak sama, saya akan mengatakan ada ketidakcocokan versi antara beberapa paket build-essential Anda. Pastikan Anda memiliki versi yang tepat dari paket gcc, dan libc6-dev. Saat ini di Oneiric, ini seharusnya:
sumber
Saya memiliki masalah yang sama dengan kompiler avr-gcc saya.
Saya menautkan file dan folder di / usr / include / i386-linux-gnu / ke folder di mana avr-gcc mencari -file. Sebagai Contoh: / usr / lib / avr / include /
Mungkin sesuatu yang serupa bekerja untuk gcc. Untuk
sumber