gpt4 book ai didi

android - all-proto-files-under 不适用于 android.mk

转载 作者:行者123 更新时间:2023-11-28 06:30:29 25 4
gpt4 key购买 nike

搜索几个项目,我在他们的 android.mk $(call all-proto-files-under, $(src_proto)) 中找到了这一行,我尝试这样使用它:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := my_test
src_proto := $(LOCAL_PATH)/proto

LOCAL_CPP_EXTENSION := .cxx .cpp .cc
LOCAL_CPPFLAGS += -std=c++11

LOCAL_SRC_FILES := main.cc \
$(call all-proto-files-under, $(src_proto))

# print the source files
$(warning $(LOCAL_SRC_FILES))

# print only main.cc
$(warning $(LOCAL_SRC_FILES))

LOCAL_C_INCLUDES := $(LOCAL_PATH)/include \
$(LOCAL_PATH)/proto

# for logging
LOCAL_LDLIBS += -llog

# for native asset manager
LOCAL_LDLIBS += -landroid

include $(BUILD_SHARED_LIBRARY)

但它不起作用,警告不打印任何内容,第二个警告仅打印 main.cc,行 $(call all-proto-files-under, $(src_proto))什么也没做。我想知道如何将 protobuf 与 android ndk 一起使用。

最佳答案

我不知道如何使用 all-proto-files-under 函数具体解决它,但是如果你想将所有源文件添加到一个目录中,你可以在下面这样做方式:

PROTOBUF_FILES := $(wildcard $(LOCAL_PATH)/proto/*.cc)
LOCAL_SRC_FILES += $(PROTOBUF_FILES:$(LOCAL_PATH)/%=%)

我想如果你愿意的话,你可以把它简化成一条线。如果需要,也可以在给定目录下的所有子目录中添加所有源文件:

PROTOBUF_FILES := $(wildcard $(LOCAL_PATH)/proto/**/*.cc)

我自己建protobuf的时候,直接取了the corresponding Android.mk file from the AOSP git并删除了所有我不需要的东西。

关于android - all-proto-files-under 不适用于 android.mk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27688008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com