이것은 이전에 나왔지만, 어떻게 고쳐 졌는지 기억이 안납니다.size_t는 g ++ - 4.1 또는 우분투 8.1의 다른 것들에 의해 발견되지 않습니다.
새로운 Ubuntu 설치시 일부 프로그램을 컴파일 할 수 없습니다 ... 뭔가 머리말이 잘못되었습니다.
g ++ - 4.1 및 4.3을 사용하지 않으려 고 시도했습니다.
g++ -g -frepo -DIZ_LINUX -I/usr/include/linux -I/usr/include -I/include -c qlisttest.cpp
/usr/include/libio.h:332: error: ‘size_t’ does not name a type
/usr/include/libio.h:336: error: ‘size_t’ was not declared in this scope
/usr/include/libio.h:364: error: ‘size_t’ has not been declared
/usr/include/libio.h:373: error: ‘size_t’ has not been declared
/usr/include/libio.h:493: error: ‘size_t’ does not name a type
/usr/include/stdio.h:294: error: ‘size_t’ has not been declared
...
파일 ...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
...
@ubuntu:~/work/zpk/src$ cat /usr/include/linux/types.h | grep size_t
typedef __kernel_size_t size_t;
typedef __kernel_ssize_t ssize_t;
types.h 경로에 확실히이며, 집어지고있다. 내가 파일 이름을 변경하여 확인하고 누락 된 오류가 발생했습니다 ...
아무도 아이디어가 ...? 도움을 주시면 감사하겠습니다 ...
감사합니다 ... sys/types.h 및 types.h를 사용하지 않으려 고 시도했습니다. 하지만 -E는 확실히 유용합니다 - size_t에 대한 grep과 그것에 대한 하나의 typedef를 찾을 수 없습니다 .... hmm – EdH
"gcc -E /tmp/foo.c"의 출력을 비교하는 것이 좋습니다. "및"g ++ -E /tmp/foo.cc "전자는 C 컴파일러를 호출하고 후자는 C++ 컴파일러를 호출합니다. (foo.c와 foo.cc는 "#include"을 가지고 있어야합니다.) –
slacy