Я пытаюсь использовать буфер протокола Google в проекте на C++. Я могу построить его просто отлично, скажем ... цель iOS framework. Однако я не могу заставить компилятор найти какие-либо файлы google/protobuf. У меня уже есть статический файл библиотеки (? Не уверен, если это работает на моей архитектуре я использовал: https://gist.github.com/BennettSmith/9487468ae3375d0db0cc)Как скомпилировать буфер протокола в файл .so
на выходе файла прото, скажем blah.pb.h
, у меня есть ссылка на Protobuf:
#include <google/protobuf/stubs/common.h>
компилятор не может найти это^ссылка.
Я пытался ndk-build
с чем-то вроде этого:
include $(CLEAR_VARS)
LOCAL_MODULE := libprotobuf
LOCAL_SRC_FILES := src/lib/libprotobuf.a
include $(PREBUILT_STATIC_LIBRARY)
LOCAL_SRC_FILES:=$(shell find src/lib -name '*.cpp')
LOCAL_MODULE := mymodule
LOCAL_C_INCLUDES += ./src/lib
LOCAL_STATIC_LIBRARIES := libprotobuf
include $(BUILD_SHARED_LIBRARY)
но это, кажется, не помогает вообще. что происходит? как я могу включить lib protobuf, когда у меня есть файл .a? мне нужно скомпилировать его из источника?
путь включить (папку), который содержит Google/Protobuf/окурки/common.h whould быть включены в файл сборки (IIRC что-то с LOCAL_C_INCLUDES) – Selvin
@Selvin любой идеи о том, как именно это сделать? –
@ Обновлен код Selvin. но все равно не работает. Я использую LOCAL_C_INCLUDES, а файл .a находится в 'src/lib' –