0
C++ 정적 라이브러리와이를 사용하는 실행 파일이 각각 별도의 폴더에 있습니다. 이러한 각각의 프로젝트는 디버그에 내장 또는 구성을 해제 할 수있는 파일의 계층 구조는 다음과 같은 경우 : Static_Lib1 \ 디버그 \의 staticlib1.a 다른 모든 정적 라이브러리에 대한
Static_Lib1 \ 릴리스 \ staticlib1.a
// 같은
실행 파일 \ 디버그 \ 실행 파일
실행 파일 \ 릴리스 \ 실행 파일메이크 파일 레이블 내 변수 업데이트
모든 디버그 및 릴리스 폴더에는 메이크 파일이 포함되어 있습니다.
디버그 또는 릴리스 - 선택한 구성을 사용하여 각 내부 프로젝트를 호출하기 위해 외부 메이크 파일을 작성하려고합니다.
그래서, 내가 좋아하는 뭔가를 시도 :
CFG= #empty declaration
PROJECTS=Static_Lib1 Static_Lib2 ... Executable
all:
release #default config is release
release:
CFG = Release
make build-all
debug:
CFG = Debug
make build-all
build-all:
make clean
$(foreach projectName, $(PROJECTS), cd $(projectName)/$(CFG) && make all;)
을하지만 시도 할 때이 출력은, 예를 들어, make debug
을 실행할 수 :
CFG = Debug
make: CFG: Command not found
make: *** [debug] Error 127
가 어떻게이 문제를 해결할 수 있습니까?
내 OS는 SLED 11x64입니다.
미리 감사드립니다.
대단히 감사합니다! –
그게 무의미합니다. makefile을 불러내는 것뿐입니다. 릴리즈와 디버그 타겟을 제거하고'make CFG = WHATEVER build-all'을 직접 호출 할 수도 있습니다 –