Windows10 에서 Boost Library 빌드 안될 때

Boost 라이브러리를 다운 받은 후 Header Only는 상관없지만 라이브러리 링크가 필요한 경우 환경에 맞게 빌드를 해야 한다.

Boost 압축을 푼 디렉터리에서 bootstrap.bat 를 실행 시키면 builder 가 자동으로 빌드되서 b2.exe 파일이 생기는데 일반적으로 b2.exe 만 실행시키면 환경에 있는 컴파일러를 이용해서 사용할 라이브러리가 생성되고 Visual studio에서 링크 경로만 설정해주면 자동으로 링크가 된다.

윈도우7 까지는 잘 작동되었는데 새로 산 랩탑에 윈도우 10에서는 계속 실패했다.

로그를 확인하니

C:\Users\Account\Source>cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib /Febootstrap\yyacc0 yyacc.c 
yyacc.c
c1: fatal error C1083: 소스 파일을 열 수 없습니다. 'yyacc.c': No such file or directory

이런 로그가 남아있었다. 분명 압축을 푼 경로는 D:\Boost\boost_1_64_0 인데 빌더를 만드는데 홈에 내 어카운트 경로에서 빌드를 실행하는 것이었다.

일단 yyacc.c 파일을 찾아보니 D:\Boost\boost_1_64_0\tools\build\src\engine 에 위치하고 있었다. 그래서 해당 경로가 찾는 곳으로 ( C:\Users\Account\Source\ ) engine 에 파일을 모두 복사하고 아까처럼 boost_1_64_0 경로에서 bootstrap.bat 를 실행하니 정상적으로 빌드가 끝나서 b2.exe가 만들어졌다.

P.S) 확인을 위해 이전처럼 다시 bootstrap.bat를 실행하니 정상적으로 자신의 경로에서 build를 찾아서 정상적으로 b2.exe가 만들어졌다. 재부팅을 해서인지, 아니면 C:\Users\Account\Source를 삭제해서인지는 모르겠다.