2009-12-06 2 views
0

Windows XP에서 VC++ 6의 부스트 라이브러리를 다시 작성하기 위해 this guide을 사용했습니다. 그러나 헤더 파일을 포함하는 데 문제가 있습니다. 기본적으로 부스트 라이브러리는 다음과 같이 포인트 1을 사용하여 헤더 파일을 선언합니다. 하지만 포인트 1을 사용하면 "치명적인 오류 C1083 : 파일을 열 수 없습니다 ..."라는 메시지가 나타납니다. 선언 할 포인트 2 사용하여 시도하고 작동하는 것처럼 보이지만 내부적으로 포인트 2 참조 된 모든 헤더 파일을 변경해야합니다. 이로 인해 헤더 선언의 캐스케이드가 변경되어 현실적이지 않습니다.C++ : VC++ 6에 부스트 라이브러리 헤더를 포함시키는 방법?

내가 뭔가를 놓쳤습니까? 오류없이 헤더 파일을 포함하는 올바른 방법은 무엇입니까?

1) #include <boost/interprocess/managed_shared_memory.hpp> 
2) #include "..\boost\interprocess\managed_shared_memory.hpp" 

답변

1

포함 프로젝트에 경로를 포함

(메뉴 시스템을 가정은 최신 버전 다소 유사하다) ?

Visual Studio에서 프로그램을 컴파일하려고하면 전역 옵션 (메뉴 : 도구 -> 옵션 -> 디렉터리 -> 디렉터리 표시 : 포함 파일)에 추가 포함 경로를 추가 할 수 있습니다. 컴파일 된 부스트 라이브러리 (예 : boost :: filesystem)를 사용하려면 라이브러리 경로도 설정에 추가해야합니다.

+0

내가 포함 경로를 추가했지만 이제 "C : \ Program Files \ Boost \ include \ boost-1_41 \ boost/interprocess/interprocess_fwd.hpp (186) : 오류 C2954 : 템플릿 정의를 중첩 할 수 없습니다"오류가 발생합니다. Boost 라이브러리 버전 1.41은 VC++ 6에서 사용할 수 없다는 뜻입니까? – Lopper

+0

글쎄, 그건 다른 문제 야. 어쩌면이 가이드에 따라 작동해야하는 간단한 것으로 시작하려고 할 수 있습니다. http://www.boost.org/doc/libs/1_41_0/more/getting_started/windows.html 또한 몇 가지 팁이 있습니다. VS 구성 섹션 4.1 및 6.1. – catchmeifyoutry

+1

빌드 대상으로 MSVC6을 지원 한 마지막 부스트 버전은 1.34입니다. MSVC6는 표준을 따르는 C++ 컴파일러가 아닙니다. – Joe

0

의도하지는 않지만 VC++ 6은 추가 포함 디렉토리를 지원하지 않습니까? 더 많은 파일을 포함하기위한 ..

은 내가 VC 6을 사용하기 때문에 시간이 오래되었습니다하지만 난에

봐 말을 할 수있는 방법이 있어야한다 알고있다.

C/C++에 따라, 프로젝트 속성을 확인 추가 설정이 부스트를 추가나요 디렉토리에 ..

관련 문제