使用 Android NDK,我想在我的 c++ 源代码中获取 git 版本。所以我像这样实现我的功能:
const char *GetGitVersion()
{
#ifdef GIT_VERSION
return GIT_VERSION;
#else
return NULL;
#endif
}
在 Android.mk 中:
LOCAL_CPPFLAGS += -D'GIT_VERSION="$(shell $(LOCAL_PATH)/get_version.sh)"'
在 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
我的问题是:
当我第一次构建我的程序时,它可以工作。但是当我提交我的更改并且 git 版本已经更改时,编译器没有构建我的源代码。函数 GetGitVersion 返回以前的版本。为什么?有没有其他方法可以实现我的要求?</p>
对不起,我的英语很差!