저는 VS2010을 사용하는 C++의 게임 엔진 프로젝트를 진행하고 있습니다. 우리는 하나의 메인 프로젝트 인 OgreProject를 가지고 있습니다. OgreProject는 렌더링을위한 Ogre3D를 포함합니다. 그런 다음 AudioLibrary라는 클래스 라이브러리 프로젝트가 있습니다. AudioLibrary는 fmod를 사용하며 적절한 헤더와 libs를 포함합니다. 문제는 OgreProject의 클래스가 AudioLibrary의 SoundPlayer.h를 사용하려고 할 때 발생합니다. 그렇다면, OgreProject는 #include가 어디인지를 알지 못합니다. OgreProject가 fmod가 어디에 있는지는이 헤더를 직접 사용하지 않기 때문에 잘못된 것이라고 느낍니다. OgreProject를 사용하지 않고 OgreProject에서 AudioLibrary의 헤더 파일을 사용하는 올바른 방법은 무엇입니까?Visual Studio 2010 : 여러 C++ 프로젝트 작업
1
A
답변
1
올바른 방법은 없습니다. 한 도서관이 다른 도서관에 대해 알 수있는 불가사의 한 방법은 없습니다. 당신은 그렇게하도록 구성해야합니다. 같은 솔루션에두면 다른 프로젝트에 하나의 프로젝트를 프로젝트 참조로 추가 할 수 있습니다.
0
Pimpl 관용어 (또는 패턴)를 사용해보십시오.
프로젝트의 헤더 파일에서 fmod
과 관련된 모든 것을 제거 할 수 있습니다. 구현 파일에만 클라이언트 프로젝트가 아닌 fmod
헤더가 필요합니다.
이점을 설명하는 this answer을 참조하십시오.
0
프로젝트의 모든 구성 요소에 대해 계층 구조를 정의하고 다른 구성 요소가 미리 정의 된 위치에서 사용할 특정 구성 요소의 모든 헤더 파일을 유지해야합니다. 다른 구성 요소는 항상이 위치를 볼 수 있습니다. 이러한 종속성을 명시 적으로 찾아야 할 구성 요소를 말하면 아무런 문제가 없습니다.
관련 문제
- 1. Visual Studio - 여러 컴퓨터에서 동일한 프로젝트 작업
- 2. Visual Studio 2010 작업 디렉토리
- 3. Visual Studio 2010 프로젝트 파일
- 4. Visual Studio 2010 C++ 프로젝트 구조
- 5. Visual Studio 2010 프로젝트 복구
- 6. Visual Studio 2010 작업 영역
- 7. Visual Studio 2010 프로젝트 생성 모범 사례
- 8. Visual Studio 2008에서 Visual Studio 2010 프로젝트 열기
- 9. Visual Studio 프로젝트 템플릿 여러 프로젝트 유형
- 10. Visual Studio 2010 및 2008 작업
- 11. Visual Studio 2010 업데이트
- 12. Visual Studio 2010 - C++ 프로젝트 - 제거 * .sdf 파일
- 13. 여러 폴더가있는 Visual Studio 프로젝트
- 14. Visual Studio 2010 설치 프로젝트 [ProductName]
- 15. Visual Studio 2010 - 동일한 소스를 구축 한 여러 프로젝트
- 16. Visual Studio 2010 - C# Updater
- 17. Visual Studio 2010 데이터베이스 프로젝트 스크립트 생성
- 18. Visual Studio 2010 설치 프로젝트 문제
- 19. Visual Studio 2010 설치 프로젝트 설정
- 20. Visual Studio 2010 Silverlight 프로젝트 브라우저에서 localhost : //
- 21. Qt Creator에서 Visual Studio 2010 프로젝트 컴파일?
- 22. Visual Studio 2010 설치 및 배포 프로젝트?
- 23. Visual Studio 2010 스마트 장치 프로젝트
- 24. Visual Studio 2010 데이터베이스 프로젝트 배포
- 25. Visual Studio 2010 설치 프로젝트 속성
- 26. Visual Studio 2010 데이터베이스 프로젝트 배포 전략
- 27. visual studio 2010 설치 프로젝트 - 레지스트리 제거
- 28. Visual Studio Pro 2010 - 프로젝트 모델링?
- 29. msdeploy Visual Studio 2010 데이터베이스 프로젝트 (dbproj)
- 30. MSBuild에서 지원하는 Visual Studio 2010 배포 프로젝트
슬프게도 제 질문에서 마지막 단어가 사라진 것처럼 보입니다. OgreProject에서 Fmod를 알지 못하면서 OgreProject에서 AudioLibrary의 헤더 파일을 사용하는 올바른 방법은 무엇입니까?를 읽어야합니다. – user1205407
그리고 지금, AudioLibrary와 Ogreproject에서 fmod에 "additional headers"를 포함하고 있습니다. Ogreproject는 Audiolibrary를 참조합니다. Ogreproject에서 직접 fmod를 사용하지 않을 때 두 프로젝트에서 프로젝트 속성을 복제 할 필요가 없다고 생각됩니다. 아마도 그것은 제가 현대 언어에 익숙해 진 것 같습니다. 어쨌든, 당신의 대답에 감사드립니다. – user1205407