Android NDK를 사용하면 C++ 소스 코드에서 git 버전을 얻고 싶습니다. 그래서 나는이처럼 내 함수를 구현 : Android.mk에서Android.mk의 ShellScripts에서 소스 코드로 생성하는 매크로 정의를 전달하는 방법
const char *GetGitVersion()
{
#ifdef GIT_VERSION
return GIT_VERSION;
#else
return NULL;
#endif
}
: get_version.sh에서
LOCAL_CPPFLAGS += -D'GIT_VERSION="$(shell $(LOCAL_PATH)/get_version.sh)"'
:
GIT_VERSION=`git --no-pager log --abbrev=7 -n 1 --pretty=format:"%h %ci" HEAD | \
awk '{gsub("-", "");print $2"-"$1}'`
echo Git-$GIT_VERSION
내 문제는 다음과 같습니다
전 먼저 내 프로그램을 빌드하면 작동한다.하지만 내 변경 사항을 제출하고 자식 버전이 변경되면 컴파일러 내 소스 코드를 작성하지 않았습니다. 함수 GetGitVersion 이전 버전을 반환합니다. 왜? 내 요구 사항을 구현하는 다른 방법이 있습니까?
죄송합니다, 제 영어는 가난합니다!
예, 맞습니다.하지만이 문제를 해결할 수있는 다른 스마트 방법이 있습니까? – CodingPanda