gpt4 book ai didi

c++ - 将 gtest 与 Android NDK 一起使用时出现语法错误

转载 作者:搜寻专家 更新时间:2023-10-31 00:34:05 25 4
gpt4 key购买 nike

我正在尝试将 gtest 与 ndk 一起使用,ndk-build 找到了依赖项,但是我在内部 gtest 文件 gtest-printers.h 上有一个语法错误

external/gtest/include/gtest/gtest-printers.h:170:9: error: ambiguous overload for 'operator<<' (operand types are 'std::ostream {aka std::basic_ostream<char, std::char_traits<char> >}' and 'const BiggestInt {aka const long long int}')
*os << kBigInt;
^

按照我的 Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := my_module

GTEST_DIR := $(LOCAL_PATH)/../../external/gtest

LOCAL_CPP_EXTENSION := .cxx .cpp .cc

LOCAL_CFLAGS := -D_STLP_USE_NEWALLOC

LOCAL_CPPFLAGS += -std=c++11

LOCAL_SRC_FILES := \
...

LOCAL_C_INCLUDES := \
...

LOCAL_C_INCLUDES += ${NDK_ROOT}/sources/cxx-stl/stlport/stlport
LOCAL_C_INCLUDES += ${GTEST_DIR}/include

LOCAL_LDLIBS += -llog
LOCAL_LDLIBS += -landroid
LOCAL_LDLIBS += -lstdc++

LOCAL_STATIC_LIBRARIES := $(GTEST_DIR)/lib/libgtest.a

include $(BUILD_EXECUTABLE)

最佳答案

我们遇到了同样的问题,解决方案是使用:

LOCAL_CPPFLAGS += -std=gnu++11

而不是 LOCAL_CPPFLAGS+=-std=c++11。它一定在STLport中设置了一些long long int的不同映射。

关于c++ - 将 gtest 与 Android NDK 一起使用时出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26995762/

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