각 플랫폼 컴 파일 러 의 Pre - build 및 Post - build 작업
Visual Studio####
설명: vs 2005 및 이상 에서 Build Events 를 지원 하 는 동시에 여러 줄 의 명령 을 지원 할 수 있 습 니 다. vs 2003 에서 여러 줄 의 명령 을 수행 하려 면 일괄 처리 파일 에 명령 을 쓰 고 일괄 처 리 를 통 해 실행 할 수 밖 에 없습니다.
copy /y $(TargetFileName) $(TargetName).XXX
2. 외부 명령 이나 일괄 처리 호출: call "C:\Program Files\XXX.exe"
3. 조건 판단: IF NOT $(ConfigurationName) == Release GOTO end call "C:\Program Files\XXX.exe" $(ProjectDir)$(TargetName).cvp :end
4. web procject 자동 배치 copy $(TargetDir)*.* //MyServer/MyService/bin copy $(ProjectDir)*.ascx //MyServer/MyService
5. 디 렉 터 리 작성 copy "$(ProjectDir)pri.bin" "$(SolutionDir)$(SolutionName)\$(OutDir)"
xcode####
CMake 에서 add 제공custom_command 와 addcustom_target 은 특정한 목표 나 라 이브 러 리 에 사용자 정의 명령 을 추가 하 는 데 사 용 됩 니 다. 이 명령 자 체 는 목표 의 일부분 이 되 고 목표 자체 가 구축 되 었 을 때 만 실 행 됩 니 다.이 목표 가 구축 되 었 다 면 명령 은 실행 되 지 않 을 것 입 니 다.
add_custom_command(TARGET target
PRE_BUILD | PRE_LINK| POST_BUILD
COMMAND command1[ARGS] [args1...]
[COMMAND command2[ARGS] [args2...] ...]
[WORKING_DIRECTORYdir]
[COMMENT comment][VERBATIM])
명령 실행 시 기 는 다음 매개 변수 에 의 해 결 정 됩 니 다: 1. PREBUILD - 명령 은 다른 의존 항 이 실행 되 기 전에 2. PRE 를 실행 합 니 다.LINK - 명령 은 다른 의존 항 이 실 행 된 후 3. POST 를 수행 합 니 다.BUILD - 명령 은 목표 구축 이 완료 되면 실 행 됩 니 다.
add_custom_target(Name [ALL][command1 [args1...]]
[COMMAND command2 [args2...] ...]
[DEPENDS depend depend depend ... ]
[WORKING_DIRECTORY dir]
[COMMENT comment] [VERBATIM]
[SOURCES src1 [src2...]])
지정 한 이름 의 목 표를 추가 하고 지정 한 명령 을 수행 합 니 다.이 대상 은 파일 을 출력 하지 않 았 습 니 다. 항상 만 료 된 것 으로 여 겨 집 니 다. 대상 의 이름 으로 파일 을 만 들 려 고 하 더 라 도.ALL 옵션 이 지정 되 어 있 으 면 이 대상 이 기본 빌 드 대상 에 추가 되 어 매번 실 행 될 수 있 음 을 나타 낸다.
상기 두 컴 파일 명령 의 구체 적 인 용법 에 대해 서 는 다음 링크 를 참고 할 수 있 습 니 다: CMake 객 제 화 명령
예 (CMake 파일 의 임의의 위치 에 추가):
ADD_CUSTOM_TARGET(
TestExample ALL
)
ADD_CUSTOM_COMMAND(TARGET TestExample
PRE_BUILD
COMMAND chmod 700 /home/chenjs/test
COMMAND /home/chenjs/test -c -o ../../output ../../input/test.txt
COMMENT "Generate project output file"
)
Jni 환경 에서 의 Android. mk\#\#\#
NDK 를 사용 하여 Android 프로젝트 에 CPP 라 이브 러 리 를 컴 파일 할 때 Android. mk 에 Shell 명령 을 직접 추가 할 수 있 습 니 다. 주의해 야 할 것 은 Cywin 과 Linux 에서 컴 파일 된 차이 점 입 니 다. 두 플랫폼 에 대한 차별 처리 예 (Android. mk 파일 에 올 바 르 게 추가):
ifndef SYSENV
SYSENV := $(shell uname)
endif
ifeq (CYGWIN,$(findstring CYGWIN,$(SYSENV)))
$(info Generate project output file under cywin)
$(shell ../../tools/test.exe -c -o ../../output ../../output ../../input/test.txt)
else ifeq ($(SYSENV), Linux)
$(info Generate project output file under linux)
$(shell chmod 700 /home/chenjs/test)
$(shell /home/chenjs/test -c -o ../../output ../../input/test.txt)
endif
참조 링크: MSDN build events Visual Studio build event 사용 방법 CMake 객 제 화 명령 Android. mk 의 항목 은 셸 bash 명령 Android. mk 로 자세히 설명 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.