2010-06-04 4 views
3

VS2010 (dreamspark를 통해 다운로드 됨)을 사용하고 있는데 #include 파일을 마우스 오른쪽 버튼으로 클릭하고 문서 열기를 눌러 열 수는 있지만 "오류는 없습니다. 오픈 소스 파일 "..." "다소 불합리한 것 같습니다. 나는 주위 Qt는 이번에 Qwt을 사용하고 내가 특별히에 대한 문제에 봉착 :오류가 소스 파일 "..."을 열 수 없습니다.

#include <qwt_counter.h> 
#include <qwt_plot.h> 

을 (그리고 내가 사용하고있는 "<>"); 위의 코드에서 제대로 표시되도록하는 방법을 모릅니다.

미리 감사드립니다.

+2

''을' "filename"'으로 바꾸어보십시오. 그리고 이것은 연결하는 것과 관련이 없습니다. –

+0

이전에 시도했지만, didnt work =/나는 이것이 hurrr에 어떤 문제인지 확실하지 않습니다. 미안합니다. – Cenoc

답변

9

Neil이 표시 했으므로 파일 이름 주위에 <> 문자 대신 인용 부호를 사용하십시오. 따옴표를 사용할 때 MSVC는 지정된 파일에 대해 #include이있는 파일과 동일한 디렉토리를 찾은 다음 찾을 수없는 경우 포함 경로에 지정된 디렉토리를 조사합니다. 파일 이름이 <> 문자로 둘러싸 일 때 현재 파일의 디렉토리는 보지 않습니다 - 컴파일러는 포함 경로로 바로 이동합니다.

자세한 내용은 http://msdn.microsoft.com/en-us/library/36k2cdd4.aspx을 참조하십시오.

이것은 구현에 따라 달라 지므로 다른 컴파일러에는 적용되지 않을 수 있습니다. 마지막으로

:

그 문제가 해결되지 않으면, 당신의 경로를 포함하는지 확인이 파일을 적절하게 "디렉토리를 포함"속성을 설정하여에있는 디렉토리를 포함 , 당신은 메이크 파일 프로젝트를 사용하고 있을지도 모른다. (Qt 프로젝트가 VS에서 빌드 될 때 qmake을 계속 사용하는 것이 얼마나 일반적인 지 모르겠다.) 어떤 경우에는 make 파일에서 필요한 모든 설정을 수행해야한다. s) 또는 makef를 호출하는 명령 행에서 전달 된 매개 변수 iles.

+0

저는 cmake를 사용하고 있습니다; 과거에 꽤 안정적 이었나요? – Cenoc

+1

@Cenoc : 신뢰성에 대한 질문이 아닙니다. 구성의 문제입니다. VS가 makefile 프로젝트를 사용하고 있다면, 빌드를 시작하는 커맨드 라인 만 실행됩니다. 컴파일러는 makefile이 제공하는 매개 변수를 사용하여 makefile에 의해 호출됩니다. 이 시점에서 VS 프로젝트의 구성은 그림과 다릅니다. 그러나 cmake는 지정된 include 디렉토리 경로가 올바르게 수행되었는지 확인해야합니다. –

+0

아, 순환 연결이 있었고 .h 파일에 모든 코드가 있습니다. 그것을 분할하고 .cpp 파일을 추가하면 모든 것이 잘 동작합니다. – Cenoc

3

이러한 파일이있는 경로는이 원본 파일의 경로와 같거나 프로젝트 설정의 "추가 포함 디렉터리"에 포함되어 있습니까?

프로젝트 -> 등록 정보 -> c/C++ 섹션 -> 추가 포함 디렉토리.

#include <path_to_file_1/qwt_counter.h> 
#include <path_to_file_2/qwt_plot.h> 

[편집] 나 : 그들은 당신이 편집하거나하고있는 소스 파일의 하위 디렉토리에있는 경우 추가 중 하나가 디렉토리를 포함의

은 (내가 생각하는) 당신은 또한 그들을 포함 할 수 있습니다 물론 neil이 말하는 것

+0

나는 그 두 가지를 시도했지만 슬프게도 작업을하지 못했습니다 ... 이상한 점은 Visual Studio에서 문서를 열어달라고 요청할 때 오류가 발생하지 않는다는 것입니다. 그래서 그것은 어디 있는지 ... 겉으로보기에는 ... – Cenoc

+0

#include 문을 서로 상대적으로 이동 시키려고했습니다. – Cenoc

+0

덕분에, 그것은 나를 위해 일했습니다! –

0

순환 링크가 발생하는 것으로 밝혀졌으며 .h 파일에 내 코드가 모두 있습니다. 나는 그것을 분할하고 해당 .cpp 파일을 추가했다. 이제는 모든 것이 잘 동작한다.

관련 문제