Using vsprops

  • 기본 폴더 몇개는 환경변수로 지정
  • vsprops 정리
    ** (왜 환경 변수스러운 걸 vs는 굳이 마크로라 부르는 걸까. 하여간 마크로라 칭해 주자)
    ** NB. 없는 마크로를 넣어도 vs는 에러를 내지 않는다!
    ** 절대! vsprops를 VS로 에디트하지 말것. 반드시 텍스트에디터로 에디트할 것!
    ** vsprops의 폴더도 \로 끝내지 말 것. (vs의 마크로들은 \로 끝나는데, 보기 안 좋다.)
    ** ExternalPackages.vsprops
    *** $(Path.<패키지 네임>) : 메인 Path
    *** $(Lib.<패키지 네임>), $(LibD.<패키지 네임>) : 링크에 필요한 라이브러리를 모두 넣는다. Additional Dependency에 넣는다.
    *** $(LibPath.<패키지 네임>) : 자동 링크를 거는 녀석들은 이걸 세팅해줘야 한다. Additional Library Directories에 세팅한다.
    *** $(Include.<패키지 네임>) 혹은 $(Include[1-9].<패키지네임>) ($(Lib.)와 달리 마크로 하나로 되게 하는 방법이 없다.)
    *** $(Define.<패키지 네임>) 혹은 $(Include[1-9].<패키지네임>)
    *** 툴은 $(Path. )의 상대 경로로 지정해서 쓴다.
    ** InternalProjects.vsprops
    *** ExternalPackages.vsprops를 상속받는다.
    *** $(Root.<루트 네임>) : 꼭 필요한 몇 개의 “루트” 폴더를 지정한다. 여기를 인클루드 폴더에 애드한다.
    *** 편의상 혹은 범용성이 떨어져 프로젝트 내부 폴더에 위치한 ExternalPackages 같은 넘들은 ExternalPackages와 동일하게 설정
    *** $(LibAdd.<패키지 네임>), $(LibAddD.<패키지 네임>)
    **** 솔루션에서 내부 프로젝트 디펜던시를 건 경우, 해당 라이브러리는 자동으로 포함된다. 그러나 그 프로젝트가 추가로 필요로 하는 라이브러리들은 포함되지 않으므로, 이 마크로를 정의하고 Additional Dependencies에 넣는다. 이 때 하나만 넣는 것이 아니라, 필요한 것들을 다 넣는다.
    **** 예) ZpEngine.lib를 링크하려면, $(Lib.PhysX) $(Lib.DirectX9) $(LibD.GPB) comsuppw.lib 등이 다 필요하다. 이걸 다 $(LibAdd.ZpEngine)에 정의할 것.
    ** 모든 프로젝트는 InternalProjects.vsprops를 상속받고 각 프로젝트별로 필요한 마크로를 가져다 쓴다.

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.