qmake의 기본 동작은 경로를 포함 할 프로젝트의 루트 경로를 추가하는 것입니다. Makefile에서 다음과 같은 것을 생성합니다 :qmake의 포함 경로에서 프로젝트의 루트 디렉토리를 제거하는 방법
INCPATH = -I..\bug -I. -I..\..\Qt\Qt5.8.0\5.8\mingw53_32\mkspecs\win32-g++
여기서 "bug"는 프로젝트의 이름입니다. 나는 "나는 원하지 않아." 부품. 파일 .pro
에서 어떻게 제거 할 수 있습니까?
INCLUDEPATH -= "."
을하지만 아무것도 변경되지 않습니다 :
나는 시도했다.자세한 내용 : 내 프로젝트는 Linux에서 잘 컴파일되지만 Windows (mingw)에서는 컴파일되지 않습니다. 심오한 연구 끝에 나는 표준 C++ 라이브러리 (string.h)에 어딘가에 "process.h"라는 파일이 있다는 것을 깨달았다. 문제는 내 프로젝트에서 정확히 같은 이름의 파일이 있다는 것입니다. 그리고 역설적으로 내 프로젝트의 파일이 표준 라이브러리의 헤더 (!!)에 포함되었습니다. 이 동작으로 인해 문자열 헤더 파일이 컴파일되지 않습니다.
확실한 해결책은 당신의 프로젝트에서'process.h' 파일의 이름을 변경하는 것입니다. –
@KubaOber 해결책이 아닙니다. 이 문제를 해결하는 방법입니다. – jaskmar
그것은 논쟁의 여지가 있습니다. 다른 빌드 시스템에서도이 문제를 계속해서 반복적으로 실행할 것입니다. 일반적으로 프로젝트에서 인기있는 표준 헤더와 같은 이름의 파일을 갖는 것은 매우 나쁜 생각입니다. qmake에 집중하면 길을 걷어차는 것입니다 :) –