2013-07-26 3 views
0

처음에는 네트워크 용 서버뿐만 아니라 UI 용으로 설계된 QT 프로젝트가 있습니다. 그러나 이제는 다른 UI 구현과 통합하기 위해 네트워크 부분 만 필요합니다.컴파일 할 때 Qt 파일을 찾을 수 없습니다.

파일과 주 기능을 제거하고 프로젝트를 라이브러리로 컴파일합니다. 모든 것이 잘됩니다.

그러나 나는 다른 프로젝트로이 프로젝트에서 헤더 파일을 포함 할 때, 나는 (QT 프로젝트에서 헤더 파일을 호출하는 프로젝트에 대해) 이런 시간 컴파일 오류를 얻을 :

fatal error C1083: Cannot open include file: 'QObject': No such file or directory 

두 프로젝트 동일한 VS2008 솔루션의 일부입니다. 나는 뭔가를 놓치고 있다고 생각하지만 내 손에 넣을 수는 없다 ... 도와주세요, thnx!

+0

프로젝트는 Qt 헤더에 상대 경로를 사용하여 파일을 컴파일하고 다른 프로젝트는 컴파일하는 것과 다른 디렉토리에 있습니까? – lapk

+0

경로가 상대 경로가 아닙니다. 이것은'#include '등을 사용하여 포함되며이 프로젝트는 .lib 파일로 컴파일됩니다. 필자가 다른 프로젝트에 대해서 QT 경로 (include와 dll, 또는 dll, 또는 ... 모두)를 설정해야하는지 궁금합니다. – Ani

+0

그럼, 컴파일하는 프로젝트는 경로 변수에 추가 된 Qt 헤더에 대한 경로를 가지고있는 것으로 보입니다. 두 번째 프로젝트는 그렇지 않습니다. – lapk

답변

1

좋아요, 모두 수정되었습니다. 제안에 대해 @ Petr-Budnik에게 감사드립니다. 다음은 내가 한 일입니다 ...

  1. 경로를 업데이트하려면 (환경 설정 값> 디버깅 아래) 환경 값을 설정하십시오. (이것은 QT 프로젝트에서 수행 된 방법입니다). 이 값은 (내가 어떤 용도가 의심) QTBin 폴더의 주요 프로젝트
  2. 업데이트는 경로를 포함하는 QT 프로젝트에서
  3. 복사 된 모든 처리기 정의를 포함하는 경로를 설정했다
  4. 추가 종속성에서 QT lib 디렉토리 파일을 추가합니다 링크 오류가 발생했을 때

그리고 중요한 (비록 이상한) 컴파일 중 수정 ... 파일에서 이상한 QT 컴파일 시간 오류로 인해이 Qt 프로젝트 파일을 내 ".h"맨 위에 포함하도록 호출을 이동해야했습니다. qnamespace.h 및 qmetatype.h (덕분에 tip from comment 2)

관련 문제