“error: unknown type name 'size_t'” solved while compiling with llvm-gcc
#include
int main(){
printf("nani
");
return 0;
}
I got error like: “error: unknown type name 'size_t'”
It seems that llvm-gcc cannot find the header file which defines size_t(actually the file is ).
I thought it was easy to settle down and added C_INCLUDE_PATH=/usr/include/:/usr/include/linux:/usr/include/i386-linux-gnu to the environment profile.
However, the errors occur still. I was confused by this because I have told llvm-gcc where to locate the header files it needs explicitly by the varible defined in environment profile.
Then I searched for and found there are several versions of this file and each of them are located in different directories- one of them in/usr/include/liunx and one in another. I opened the versions of the file one by one to find the content of the files are different !!! Actually the one in/usr/include/linux DOES NOT define size_t at all !!!!
Now things get clear. By putting/usr/inlcude/linux in front of the path where the effective (which defines size_t) is located, I made the compiler use the first one it encountered, that is, /usr/include/linux/stddef.h. But there is nothing in this , at least not the things the compiler needs.
So, the very correct way to solve this problem is adding header files searching paths in the RIGHT ORDER to the environment profile. Here, I did not add/usr/include/linux at all.
Problem solved.
And for gcc users who encounter the same all similar problems, this solution also works, I think.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.