이전 gcc 헤더를 어떻게 사용할 수 있나요?

이전 gcc 헤더를 어떻게 사용할 수 있나요?

심볼릭 링크를 설치 gcc-3.4하고 만들었습니다 . 내가 입력했을 때 나는 다음을 얻습니다:Debian 7.8/usr/bin/gccgcc --version

gcc (GCC) 3.4.6 (Debian 3.4.6.-9)

그런 다음 간단한 C 프로그램을 작성했습니다.

#include <stdio.h>

int main(int argc, char **argv)
{
    printf("hello");
    return 0;
}

하지만 수많은 오류 메시지가 나타납니다. 문제는 (시스템의 기본 gcc) 헤더 파일을 gcc-3.4사용하는 것 같아요 gcc-4.7. 나는 gcc-3.4에서 다운로드했다gcc 웹사이트다음을 입력하세요.

gcc untitled.c -I/home/asd/Desktop/gcc-3.4

하지만 작동하지 않습니다. 컴파일할 때 헤더 파일을 어떻게 사용하나요 gcc-3.4?

오류는 다음과 같이 시작됩니다.

In file included from /usr/include/stdio.h:28,
                 from untitled.c:1:
/usr/include/features.h:323:26: bits/predefs.h: No such file or directory
/usr/include/features.h:356:25: sys/cdefs.h: No such file or directory
/usr/include/features.h:388:23: gnu/stubs.h: No such file or directory
In file included from /usr/include/stdio.h:34,
                 from untitled.c:1:
/usr/lib/gcc/i486-linux-gnu/3.4.6/include/stddef.h:213: error: syntax error before "typedef"
In file included from untitled.c:1:
/usr/include/stdio.h:36:25: bits/types.h: No such file or directory
In file included from untitled.c:1:
/usr/include/stdio.h:49: error: syntax error before "typedef"
/usr/include/stdio.h:54: error: syntax error before "__USING_NAMESPACE_STD"
/usr/include/stdio.h: In function `__USING_NAMESPACE_STD':
/usr/include/stdio.h:65: error: storage class specified for parameter `__FILE'
In file included from /usr/include/_G_config.h:20,
                 from /usr/include/libio.h:32,
                 from /usr/include/stdio.h:75,
                 from untitled.c:1:
/usr/include/wchar.h:95: error: storage class specified for parameter `__mbstate_t'
In file included from /usr/include/libio.h:32,
                 from /usr/include/stdio.h:75,
                 from untitled.c:1:
/usr/include/_G_config.h:24: error: syntax error before "__off_t"
/usr/include/_G_config.h:29: error: syntax error before "__off64_t"
/usr/include/_G_config.h:53: error: storage class specified for parameter `_G_int16_t'
/usr/include/_G_config.h:54: error: storage class specified for parameter `_G_int32_t'
/usr/include/_G_config.h:55: error: storage class specified for parameter `_G_uint16_t'
/usr/include/_G_config.h:56: error: storage class specified for parameter `_G_uint32_t'
In file included from /usr/include/libio.h:53,
                 from /usr/include/stdio.h:75,
                 from untitled.c:1:
/usr/lib/gcc/i486-linux-gnu/3.4.6/include/stdarg.h:43: error: storage class specified for parameter `__gnuc_va_list'
In file included from /usr/include/stdio.h:75,
                 from untitled.c:1:
/usr/include/libio.h:180: error: storage class specified for parameter `_IO_lock_t'
/usr/include/libio.h:300: error: syntax error before "__off_t"
/usr/include/libio.h:310: error: syntax error before "_IO_lock_t"
/usr/include/libio.h:338: error: syntax error before '}' token
/usr/include/libio.h:341: error: storage class specified for parameter `_IO_FILE'
/usr/include/libio.h:346: error: storage class specified for parameter `_IO_2_1_stdin_'
/usr/include/libio.h:347: error: storage class specified for parameter `_IO_2_1_stdout_'
/usr/include/libio.h:348: error: storage class specified for parameter `_IO_2_1_stderr_'
/usr/include/libio.h:364: error: storage class specified for parameter `__ssize_t'
/usr/include/libio.h:364: error: syntax error before "__io_read_fn"
/usr/include/libio.h:372: error: storage class specified for parameter `__ssize_t'
/usr/include/libio.h:372: error: redefinition of parameter '__ssize_t'
/usr/include/libio.h:364: error: previous definition of '__ssize_t' was here

실행 중인 gcc의 전체 출력은 다음에서 확인할 수 있습니다.http://pastebin.com/jFRihqUw

답변1

gcc & g++ 설치 예를 들어 Linux kali에서는 터미널에서 이것을 실행합니다.

apt-get 설치 gcc g++

그런 다음 경로를 올바른 경로로 바꾸십시오. 제 경우에는 올바른 경로는

arm-linux-gnueabihf/bits/predefs.h

답변2

gcc & g++ 설치 예를 들어 Linux kali에서는 터미널에서 이것을 실행합니다.

apt-get 설치 gcc g++

우분투의 경우 apt 전에 sudo를 사용하십시오. 그런 다음 경로를 올바른 경로로 바꾸십시오. 제 경우에는arm-linux-gnueabihf/bits/predefs.h>

팔 기본 장치가 있기 때문에 다음 경로 오류에 대해 이것을 따르십시오. 그러나 이렇게 하면 여러 경로 문제가 발생하므로 가장 좋은 aproch는 다음과 같습니다.

복사asm, 비트, sys & 경로 오류가 발생하는 경우 다른 폴더포함하다폴더의arm-linux-gnueabihf폴더

관련 정보