2016년 8월 24일 수요일

Visual Studio 2010 부터 생기는 ipch 디렉토리와 .sdf 파일의 생성 위치 바꾸는 방법.

Visual Studio 2010 이후 부터는 기존에 생기던 .ncb 파일이 생기지 않고
.sdf 파일과 ipch 폴더가 생긴다.
위 파일들은 인텔리 센스 관련 파일들인데. 소스를 형상관리 툴과 연계 하다 보면 해당 파일들이 눈에 거슬리게 된다.
다행이도 Visual Studio 설정에서 해당 파일들을 특정 위치에 고정 시킬수 있는데
해당 옵션을 찾아가는 방법은 버젼별로 동일하다(2010,2012,2013  까지)


옵션명은 "Fallback Location" 이며 세가지 옵션이 있으며 처음 두개는 무조건 "True" 로 변경하고마지막 경로는 지정하고 싶은 경로를 지정하면 된다.
지정하고 나서 프로젝트내에 있는 .sdf 파일과 ipch 폴더를 지우고 프로젝트를  새로 로드 하면프로젝트명과 뒤에 유니크 아이디를 가지고 폴더를 생성하여 관리가 된다. 

Visual Studio 2010 MFC 빌드 링크 에러중 하나.

2008에서 빌드해서 쓰던 static 라이브러리를 2010으로 프로젝트만 변환해서 빌드하고라이브러리를 포함해서 빌드 하면 링크 에러중 아래와 같은 에러가 발생 하게 되는 경우가 있다.
LNK2005: "public: void __thiscall std::_Container_base12::_Orphan_all(void)
..검색하다 문제점을 발견 하였는데.
원인은 해당 디버그 라이브러리가 C/C++ 빌드 런타임 옵션이 "Multi-threaded Debug(Mtd)" 이고
링크해서 쓰는 소스 프로젝트에서는 C/C++ 빌드 런타임 옵션이 "Multi-threaded Debug DLL(MDd)" 이여서 링크 에러가 발생 하는 문제 였다.
라이브러리 빌드 옵션을 가져다 쓰는 프로젝트와 옵션을 맞추어 빌드 하니 정상 동작을 하였다.

2016년 8월 22일 월요일

Declaration uses __weak but arc is disabled

기존에 빌드되던 코드였는데 XCode 업데이트 이후 손대지 않다가 빌드 할때 블러그 제목처럼에러가 날경우 있다.
해당 프로젝트에서 "Build Setting" 탭으로 가서 검색에 "weak" 로 검색을 하고 나서 아래화면과 같은 옵션에 빨간 동그라미를 체크 하고 빌드 하면 된다.