할당을 제출해야하지만 실제로 사용한 부스트 (boost :: shared_ptr 및 boost :: function을 사용)의 헤더 파일 만 포함하고 싶습니다. 이렇게 수동으로 시도했지만 일부 헤더 파일이 누락되었습니다. 그리고 추가 할 때마다 더 많은 내용이 누락되었습니다. 실제로 필요한 헤더를 정확히 찾는 간단한 방법이 있습니까?부스트에서 필요한 헤더 만 가져 오기
감사
할당을 제출해야하지만 실제로 사용한 부스트 (boost :: shared_ptr 및 boost :: function을 사용)의 헤더 파일 만 포함하고 싶습니다. 이렇게 수동으로 시도했지만 일부 헤더 파일이 누락되었습니다. 그리고 추가 할 때마다 더 많은 내용이 누락되었습니다. 실제로 필요한 헤더를 정확히 찾는 간단한 방법이 있습니까?부스트에서 필요한 헤더 만 가져 오기
감사
bcp
명령이 만들어된다
NAME
bcp - extract subsets of Boost
SYNOPSIS
bcp --list [options] module-list bcp [options] module-list output-path bcp --report [options] module-list html-file bcp --help
DESCRIPTION
Copies all the files, including dependencies, found in module-list to output-path. output-path must be an existing path.
하지만 부스트 헤더가 얼마나 상호 의존적인지 알면 놀랄 것입니다.
정확히 그렇게 bcp
라는 도구가있다 - 당신이 필요로하는 부스트의 부분과 더 이상을 복사합니다.
문제에 대한 또 다른 해결책은 전처리 기입니다.
컴파일러에는 gcc와 clang의 전 처리기 (-E
) 만 실행하는 스위치가 있어야합니다. 이 경우, 포함시키는 두 개의 파일을 전처리 할 수 있고이 실행 결과를 자신의 헤더 파일 (각각)에 숨길 수 있습니다.
헤더 가드를 추가하고 일반 부스트 헤더 대신 이미 사전 처리 된 헤더를 포함하면 작업이 완료됩니다.
물론 두 헤더 사이에 약간의 반복이있을 수 있습니다. diff 도구는 잠재적으로 다른 헤더에서 해당 헤더를 분해 해내는 데 도움이 될 수 있습니다 ... 그러나 할당을 위해 나는 확실히 신경 쓰지 않을 것입니다.
선생님께서는 컴파일 된 표준 라이브러리 헤더를 제공하라고 요청하지 않으므로 사용하신 부스트 헤더를 요구해서는 안된다는 것을 선생님에게 이야기 해보십시오.
bcp를 빌드해야합니까? 내 부스트 디렉토리에만 소스 파일을 찾을 수 있습니다 – Megatron
Dunno. 내 데비안/우분투 컴퓨터에는'libboost1.42-dev' 패키지가 있습니다. –
최근 Windows에서이 작업을 수행해야했습니다. tools \ bcp 폴더로 이동하여 ".. \ .. \ bjam.exe --toolset = msvc"를 입력하십시오. – dubnde