2012-02-20 3 views
0

초보자 인 Microsoft Visual Studio 연습에 대한 연습을 수행하려고 시도했습니다 : Creating and Using a Dynamic Link Library.dll을 참조하는 응용 프로그램을 만들기 위해 헤더 파일을 참조하는 동안 오류가 발생했습니다.

그러나 이해하기가 어렵고 오류가 계속 발생합니다.

거기 오류라고 말하고 있었다 모든

첫째 :

warning C4627: '#include ': skipped when looking for precompiled header use 1> Add directive to 'StdAfx.h' or rebuild precompiled header

그래서 나는 일부 온라인 검색을했고, 내가 라인에 추가해야 나타난 다음에

#include "StdAfx.h"

. cpp 파일, MyExecRefsDll.cpp, 코드 맨 위에.

그것은 다음 오류를 내놓았다 :

fatal error C1083: Cannot open include file: 'MathFuncsDll.h': No such file or directory

내가 실제로 사용할 헤더 파일이 헤더 파일에 대한 참조를 포함했다. MyExecRefsDll 속성 페이지 \ 구성 속성 \ C/C++ \ 일반, 다음 추가 내가 가진 디렉토리를 포함 다음에, C : 등등 .. \ DynamicLibrary \ MathFuncsDll MathFuncsDll.h

\

I I이 참조 아래를 볼 수 있습니다 미리 컴파일 된 헤더를 사용하여 해제하는 방법에 대해 읽어보십시오. 이 일이 내가해야 할 일인가요?하지만 어떻게 확신 할 수 없습니까?

동적 연결 라이브러리를 참조 할 때 .dll 대신 .lib를 사용하는 방법에 대해서도 읽었습니다. 나는 이것을 시도했다. dll에 대한 참조를 다음과 같이 바꾼다.MyExecRefsDll 속성 페이지들 \ configuration properties \ Debugging, 내가 입력 한 환경 옆에 PATH = C : \ Users ... etc ... \ DynamicLibrary \ Debug \ MathFuncsDll.dll 대신 파일 이름의 끝을 .lib로 변경하려고 시도했지만 아무 것도 변경되지 않았으므로 MathFuncsDll.h 파일을 찾는 데 문제가있었습니다.

아무도 솔루션을 성공적으로 구축 할 수 있도록 헤더 파일을 어떻게 가져올 수 있는지 제안 할 수 있습니까? 미리 감사드립니다.

+0

연습 문제의 지침을 정확하게 따르지 않고 있습니다. 다시 할. –

+0

나는 내가 할 수있는 한 정확하게 두 번 연습을했다. 내가 뭔가를 놓친다면, 나는 내가 뭘 입력해야하는지, 따라서 오류를 잘못 이해 했어야하며, 따라서 내가 어디로 잘못 갔는지 이해하지 못한다. – hde

+0

예 @HansPassant에 동의합니다. 'hde'가 정확한 단계를 따르지 않았으며 환경 변수 PATH 변수를 변경할 필요가 없습니다. MSDN 튜토리얼의 정확한 단계를 따르고 작동합니다. 올바른 빌드 유형을 구성하고 있는지 확인하십시오 : Debug/Release. 둘 다 구성하는 것이 더 좋습니다! –

답변

1

Visual Studio는 헤더 파일을 찾을 수없는 경우에만 오류를 표시합니다. 이를 해결하려면 프로젝트 설정을 확인해야합니다. 귀하의 질문에 당신이 참조하는 "나는, C : .. 등 .. \ DynamicLibrary \ MathFuncsDll \ MathFuncsDll.h", 여기서 추가 Include 디렉토리에 "C : .. 등의 디렉토리 이름 만 가져야합니다. .. \ DynamicLibrary \ MathFuncsDll \ "에 있습니다. 파일이 실제로 있는지 확인하고 현재 빌드 구성과 관련된 프로젝트 설정을 편집하고 있는지 다시 확인하십시오. 예를 들어 Debug | Win32를 빌드하는 경우 추가 포함 디렉토리를 변경해야합니다.

+0

Active Release 빌드가 있고 디버그 유형이 수정되었습니다. 따라서 include 디렉토리에 대한 오류가 발생했습니다. 나를 위해 일했습니다. –

0

나는 정확히 같은 문제가있었습니다. 당신이 원하는을 탐색 할 수 있도록

To reference the header files of the dynamic link library, you must modify the include directories path. To do this, from the Property Pages dialog, expand the Configuration Properties node, then the C/C++ node, and select General. Next to Additional Include Directories, type in the path to the location of the MathFuncsDll.h header file.

가 여기에 비주얼 스튜디오 당신에게 "찾아보기"버튼을 줄 것이다 : 나는 여기

으로 VisualStudio (10)의 버그가 연습에서 곤란한 문제가있다라고 생각 디렉토리를 선택하십시오. 이렇게하면 전체 경로가 Additional Include Directories에 삽입됩니다.

그러나 이것은 여전히 ​​나에게 적합하지 않습니다.나는 그것을 컴파일 얻을 수

수있는 유일한 방법은 상대 경로를 입력했다 :

.. \ .. \ MathFuncsDll \ MathFuncsDll

-1

\이 문제에 대한 매우 간단한 해결책이 있습니다. 비주얼 스튜디오 2010 년

Project->Properties->Configuration Properties->C/C++->Precompiled Headers 

아래는 "미리 컴파일 된 헤더가" "미리 컴파일 된 헤더를 사용하지 않음"을 속성 열거 된 지침에 따라, 그리고 데모가 오류없이 구축해야에 대한 값을 설정합니다.

관련 문제