TEUS.me

 
 

 

10. 프로젝트 설정

당연한 얘기지만, 모든 프로젝트를 선택해서 설정하면 C/C++ 항목이 표시되지 않는다.

이 점을 신경 써서 C/C++ 항목이 표시되는 모든 프로젝트에 대해 다음의 전처리기를 정의한다.

이 부분은 빼도 상관은 없지만, 경고가 너무 많이 표시되어 보기 싫기 때문에 하는 것을 추천.

_WINSOCK_DEPRECATED_NO_WARNINGS
_CRT_SECURE_NO_WARNINGS

 

 

그리고, 하는 김에 다중 프로세서 컴파일예(/MP)로 설정한다.

환경에 따라 다르지만 요즘 환경이라면 적어도 2배 이상은 더 빨리 컴파일된다.

 

11. /bigobj 설정

몇몇 프로젝트는 섹션 수가 한도를 초과한다는 메시지와 함께 컴파일 실패가 발생한다.

이 프로젝트들은 C/C++ 명령줄에서 /bigobj를 설정해줘야 한다.

대상 프로젝트들은 DCPSInfoRepo_Federator, OpenDDS_Dcps, OpenDDS_monitor, RtpsRelayLib.

 

 

여기까지 하면 드디어 컴파일이 되는 모습을 볼 수 있다.

 

모두 다시 빌드: 성공 78, 실패 0, 생략 0

 

12. 개발 어플의 프로젝트 설정

 

여기까지 하면 다 된 것 같지만, 세상이 그렇게 호락호락하지 않다.

예제에 나온 대로 프로젝트를 만들어서 빌드해보면 당장 링킹 오류가 터진다.

 

이유는 간단하다. 전처리기를 추가로 정의해줘야 되기 때문이다.

OpenDDS를 빌드할 때 static 모드로 빌드했는데, 이 것을 프로젝트에도 정의해줘야 정상적으로 빌드된다.

 

 

이 것을 포함해서 몇 개 더 전처리기에 정의해주면 경고를 대폭 줄일 수도 있어서 추천.

ACE_AS_STATIC_LIBS
_WINSOCK_DEPRECATED_NO_WARNINGS
_CRT_SECURE_NO_WARNINGS

 

여기까지 오는데 딱 3주가 소요됐다...

그 동안 확인한 내용들을 깃허브에 Pull Request도 올렸지만, reject[각주:1] 되기도 했고...

 

 

  1. 빌드 오류가 발생했다는데 도저히 이해도 안 되고, 더 해보기도 귀찮아 포기 [본문으로]

공유하기

facebook twitter kakaoTalk kakaostory naver band

댓글

비밀글모드