2016-10-25 3 views
1

작업 stdef.h를 찾을 수 없습니다 나는 단지 새로 설치된QtCreator 리눅스

Qt는 5.7.0 (GCC 4.9.1 20140922 (레드햇 4.9.1-10), 64 비트)를 기반으로 Qt는 창조주 4.1.0

이 오류는 모든 키트 오류를 ​​해결 한 후에 나를 미친 소리로 만듭니다. 사실 저는 적절한 컴파일러를 찾기 위해 Google에서 시간을 보냈습니다.

/usr/include/c++/5.3.1/cstddef:45: error: stddef.h: No such file or directory

내가 사방에 창문을위한 솔루션을 보았다하지만 리눅스에 대한 찾을 수 없습니다, 사람이 경험이 어떻게 그것을 해결하기 위해 한 않습니다 이것은 내가 생각 컴파일러 버전으로 뭔가를 할 수 있을까?

스크린

Compilers

Qt versions

Kits

의 rpm -qa | grep devel | 정렬

expat-devel-2.1.0-10.fc22.x86_64 
fontconfig-devel-2.11.94-4.fc22.x86_64 
freetype-devel-2.5.5-2.fc22.x86_64 
gdbm-devel-1.11-4.fc22.x86_64 
glibc-devel-2.21-13.fc22.i686 
glibc-devel-2.21-13.fc22.x86_64 
java-1.8.0-openjdk-devel-1.8.0.65-3.b17.fc22.x86_64 
kernel-debug-devel-4.2.5-201.fc22.x86_64 
kernel-debug-devel-4.2.6-200.fc22.x86_64 
kernel-devel-4.2.6-200.fc22.x86_64 
libdb-devel-5.3.28-12.fc22.x86_64 
libdrm-devel-2.4.61-3.fc22.x86_64 
libICE-devel-1.0.9-2.fc22.x86_64 
libpng-devel-1.6.16-3.fc22.x86_64 
libSM-devel-1.2.2-2.fc22.x86_64 
libstdc++-devel-5.3.1-6.fc22.i686 
libstdc++-devel-5.3.1-6.fc22.x86_64 
libXau-devel-1.0.8-4.fc22.x86_64 
libxcb-devel-1.11-8.fc22.x86_64 
libXcursor-devel-1.1.14-4.fc22.x86_64 
libXdamage-devel-1.1.4-6.fc22.x86_64 
libXext-devel-1.3.3-2.fc22.x86_64 
libXfixes-devel-5.0.1-4.fc22.x86_64 
libXft-devel-2.3.2-2.fc22.x86_64 
libXi-devel-1.7.4-2.fc22.x86_64 
libXinerama-devel-1.1.3-4.fc22.x86_64 
libXrandr-devel-1.4.2-2.fc22.x86_64 
libXrender-devel-0.9.9-1.fc22.x86_64 
libxshmfence-devel-1.2-1.fc22.x86_64 
libXt-devel-1.1.4-10.fc22.x86_64 
libXv-devel-1.0.10-2.fc22.x86_64 
libXxf86vm-devel-1.1.4-1.fc22.x86_64 
libX11-devel-1.6.3-1.fc22.x86_64 
mesa-libGL-devel-10.6.9-1.20151008.fc22.x86_64 
mesa-libGLU-devel-9.0.0-7.fc22.x86_64 
perl-devel-5.20.3-328.fc22.x86_64 
python3-devel-3.4.2-6.fc22.x86_64 
qt-devel-4.8.7-4.fc22.x86_64 
systemtap-devel-2.9-1.fc22.x86_64 
systemtap-sdt-devel-2.9-1.fc22.x86_64 
xorg-x11-proto-devel-7.7-12.fc21.noarch 
zlib-devel-1.2.8-7.fc22.x86_64 
+0

어떻게 키트 오류를 ​​"수정"했습니까? 'Build & Run' 설정 창 ('Kits','Qt Versions' 및'Compilers')의 스크린 샷을 추가하십시오. 또한'rpm -qa | sort | grep devel'의 결과를 포함하십시오. –

+0

@KubaOber가 추가되었습니다. –

+0

선택한 컴파일러를 사용하여 명령 줄에서 간단한 C++ 테스트 응용 프로그램을 컴파일 할 수 있습니까? 또한 수동으로 추가 된 64 비트 GCC 컴파일러의 세부 사항을 보여줍니다. –

답변

2

컴파일러가 터미널에서 작동하는 경우 QtCreator에서 작동해야합니다. 먼저 터미널에서 작동하도록하십시오.

#include <cstddef> 
int main() 
{ 
    return 0; 
} 

가 그런 다음 명령을 입력합니다 : 컴파일이 작동하면

gcc -H main.cpp -o main 
  • 을, 문제가있을 수 있어야합니다

    터미널에서

    , MAIN.CPP으로 파일을 생성 QtCreator의 키트 정의에서. 가능하면 stddef.h 폴더가 키트의 포함 파일 목록에 있는지 확인하십시오. 그러나 그렇게 할 필요는 없습니다. 일시적으로 프로젝트에 포함 경로를 추가 할 수 있습니다 (How to add include path in Qt Creator? 참조). 이것이 실제로 문제가되는지 확인하십시오. 그렇다면 키트를 잘 고칠 수있는 방법을 찾아야합니다.

  • 편집이 작동하지 않는 경우 sashoalm의 주석 처리 된 링크를 사용하여 환경을 수정하십시오. QtCreator는 IDE이며, 깨진 컴파일러로 실행하면 문제가 해결되지 않습니다. 컴파일 출력에는 (옵션) 파일 (cstddef 다음에 stddef.h)이 선택되는 위치가 표시됩니다. 포함 된 파일이 검색되는 곳을 확인하려면 cpp -v을 시도하십시오. 제공

    . /usr/include/c++/4.8/cstddef .. /usr/include/x86_64-linux-gnu/c++/4.8/bits/c++config.h ... /usr/include/x86_64-linux-gnu/c++/4.8/bits/os_defines.h .... /usr/include/features.h ..... /usr/include/x86_64-linux-gnu/sys/cdefs.h ...... /usr/include/x86_64-linux-gnu/bits/wordsize.h ..... /usr/include/x86_64-linux-gnu/gnu/stubs.h ...... /usr/include/x86_64-linux-gnu/gnu/stubs-64.h ... /usr/include/x86_64-linux-gnu/c++/4.8/bits/cpu_defines.h .. /usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h Multiple include guards may be useful for: /usr/include/c++/4.8/cstddef /usr/include/x86_64-linux-gnu/bits/wordsize.h /usr/include/x86_64-linux-gnu/gnu/stubs-64.h /usr/include/x86_64-linux-gnu/gnu/stubs.h /usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h

    stddef.h/usr/lib/gcc/x86_64-linux-gnu/4.8/include

    그리고 cpp -v에서 발견되었다 참조 :

    #include "..." search starts here: 
    #include <...> search starts here: 
    /usr/lib/gcc/x86_64-linux-gnu/4.8/include 
    /usr/local/include 
    /usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed 
    /usr/include/x86_64-linux-gnu 
    /usr/include 
    End of search list. 
    

    참고 : 내 컴퓨터에

는 컴파일 출력은 저를 준다 당신은을 만든 경우 키트를 수동으로 제거하려면 설치 제거를 권장합니다. QtCreator. 터미널에서 gcc를 만든 다음 QtCreator를 다시 설치하십시오.이 키트는 자동으로 키트를 만들어야하며 작동해야합니다.