g++ 编译错误:使用protobuf undefined 错误

解决protobuf的Undefined reference to google::protobuf cxx11 问题是在我用Qt5.14.1的Mingw7.5编译Protocol buffer3.11.4出的问题。编译还算顺利,测试过程中就出问题了:(当然我还遇到其他问题,在其他地址再详细说) 这个错误似乎有个共性,就是abi::cxx11或是std::__cxx11错误 于是乎去查资料,终于找到原因了: 查看这个CMakeList.txt 第22行到第29行: # Add c++11 flags if (CYGWIN) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std= 阅读详情

用protobuf生成.pb.cc 和 .pb.h文件后,在程序文件暗中引用.pb.h文件,运行++

时总会出现undefined 错误 如下

lc@lc-host:~/PycharmProjects/cplus/proto_bazel_test$ g++ main.cpp msg.pb.cc -o main.out -lprotobuf
/usr/bin/ld: /tmp/ccxuZhla.o: in function `descriptor_table_msg_2eproto_metadata_getter(int)':
msg.pb.cc:(.text+0x1c): undefined reference to `google::protobuf::internal::AssignDescriptors(google::protobuf::internal::DescriptorTable const*, bool)'
/usr/bin/ld: /tmp/ccxuZhla.o: in function `Im::Content::Content(Im::Content const&)':
msg.pb.cc:(.text+0x21c): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, google::protobuf::Arena*)'
/usr/bin/ld: /tmp/ccxuZhla.o: in function `Im::Content::Clear()':
msg.pb.cc:(.text+0x355): undefined reference to `google::protobuf::internal::ArenaStringPtr::ClearToEmpty()'
/usr/bin/ld: /tmp/ccxuZhla.o: in function `Im::Content::_InternalParse(char const*, google::protobuf::internal::ParseContext*)':
msg.pb.cc:(.text+0x4ce): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: msg.pb.cc:(.text+0x5f5): undefined reference to `google::protobuf::internal::UnknownFieldParse(unsigned long, google::protobuf::UnknownFieldSet*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: /tmp/ccxuZhla.o: in function `Im::Content::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const':
msg.pb.cc:(.text+0x9bb): undefined reference to `google::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(google::protobuf::UnknownFieldSet const&, unsigned char*, google::protobuf::io::EpsCopyOutputStream*)'
/usr/bin/ld: /tmp/ccxuZhla.o: in function `Im::Content::ByteSizeLong() const':
msg.pb.cc:(.text+0xadd): undefined reference to `google::protobuf::internal::ComputeUnknownFieldsSize(google::protobuf::internal::InternalMetadata const&, unsigned long, google::protobuf::internal::CachedSize*)'
/usr/bin/ld: /tmp/ccxuZhla.o: in function `Im::Content::InternalSwap(Im::Content*)':
msg.pb.cc:(.text+0x10cf): undefined reference to `google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*)'
/usr/bin/ld: msg.pb.cc:(.text+0x10e9): undefined reference to `google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*)'
/usr/bin/ld: /tmp/ccxuZhla.o: in function `Im::Content* google::protobuf::Arena::CreateMaybeMessage<Im::Content>(google::protobuf::Arena*)':
msg.pb.cc:(.text+0x123a): undefined reference to `google::protobuf::Arena::AllocateAlignedWithCleanup(unsigned long, std::type_info const*)'
/usr/bin/ld: msg.pb.cc:(.text+0x1281): undefined reference to `google::protobuf::Arena::AllocateAlignedWithCleanup(unsigned long, std::type_info const*)'
/usr/bin/ld: /tmp/ccxuZhla.o: in function `__static_initialization_and_destruction_0(int, int)':
msg.pb.cc:(.text+0x13a9): undefined reference to `google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*)'
/usr/bin/ld: /tmp/ccxuZhla.o: in function `google::protobuf::io::EpsCopyOutputStream::EnsureSpace(unsigned char*)':
msg.pb.cc:(.text._ZN6google8protobuf2io19EpsCopyOutputStream11EnsureSpaceEPh[_ZN6google8protobuf2io19EpsCopyOutputStream11EnsureSpaceEPh]+0x39): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: /tmp/ccxuZhla.o: in function `google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliased(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*)':
msg.pb.cc:(.text._ZN6google8protobuf2io19EpsCopyOutputStream23WriteStringMaybeAliasedEjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPh[_ZN6google8protobuf2io19EpsCopyOutputStream23WriteStringMaybeAliasedEjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPh]+0x9b): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliasedOutline(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*)'
/usr/bin/ld: /tmp/ccxuZhla.o: in function `google::protobuf::Arena::AllocateAlignedWithHook(unsigned long, unsigned long, std::type_info const*)':
msg.pb.cc:(.text._ZN6google8protobuf5Arena23AllocateAlignedWithHookEmmPKSt9type_info[_ZN6google8protobuf5Arena23AllocateAlignedWithHookEmmPKSt9type_info]+0x41): undefined reference to `google::protobuf::Arena::AllocateAlignedWithHook(unsigned long, std::type_info const*)'
/usr/bin/ld: msg.pb.cc:(.text._ZN6google8protobuf5Arena23AllocateAlignedWithHookEmmPKSt9type_info[_ZN6google8protobuf5Arena23AllocateAlignedWithHookEmmPKSt9type_info]+0x65): undefined reference to `google::protobuf::Arena::AllocateAlignedWithHook(unsigned long, std::type_info const*)'
/usr/bin/ld: /tmp/ccxuZhla.o: in function `google::protobuf::internal::EpsCopyInputStream::DoneWithCheck(char const**, int)':
msg.pb.cc:(.text._ZN6google8protobuf8internal18EpsCopyInputStream13DoneWithCheckEPPKci[_ZN6google8protobuf8internal18EpsCopyInputStream13DoneWithCheckEPPKci]+0x178): undefined reference to `google::protobuf::internal::EpsCopyInputStream::DoneFallback(int, int)'
/usr/bin/ld: /tmp/ccxuZhla.o: in function `google::protobuf::internal::VarintParseSlow(char const*, unsigned int, unsigned long*)':
msg.pb.cc:(.text._ZN6google8protobuf8internal15VarintParseSlowEPKcjPm[_ZN6google8protobuf8internal15VarintParseSlowEPKcjPm]+0x24): undefined reference to `google::protobuf::internal::VarintParseSlow64(char const*, unsigned int)'
/usr/bin/ld: /tmp/ccxuZhla.o: in function `google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int)':
msg.pb.cc:(.text._ZN6google8protobuf8internal7ReadTagEPKcPjj[_ZN6google8protobuf8internal7ReadTagEPKcPjj]+0x80): undefined reference to `google::protobuf::internal::ReadTagFallback(char const*, unsigned int)'
/usr/bin/ld: /tmp/ccxuZhla.o: in function `google::protobuf::internal::VerifyUTF8(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, char const*)':
msg.pb.cc:(.text._ZN6google8protobuf8internal10VerifyUTF8EPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKc[_ZN6google8protobuf8internal10VerifyUTF8EPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKc]+0x49): undefined reference to `google::protobuf::internal::VerifyUTF8(google::protobuf::StringPiece, char const*)'
/usr/bin/ld: /tmp/ccxuZhla.o: in function `Im::Content::_internal_set_str(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
msg.pb.cc:(.text._ZN2Im7Content17_internal_set_strERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN2Im7Content17_internal_set_strERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x46): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, google::protobuf::Arena*)'
/usr/bin/ld: /tmp/ccxuZhla.o: in function `Im::Content::_internal_mutable_str[abi:cxx11]()':
msg.pb.cc:(.text._ZN2Im7Content21_internal_mutable_strB5cxx11Ev[_ZN2Im7Content21_internal_mutable_strB5cxx11Ev]+0x3b): undefined reference to `google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*)'
/usr/bin/ld: /tmp/ccxuZhla.o: in function `google::protobuf::UnknownFieldSet* google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow<google::protobuf::UnknownFieldSet>()':
msg.pb.cc:(.text._ZN6google8protobuf8internal16InternalMetadata27mutable_unknown_fields_slowINS0_15UnknownFieldSetEEEPT_v[_ZN6google8protobuf8internal16InternalMetadata27mutable_unknown_fields_slowINS0_15UnknownFieldSetEEEPT_v]+0x219): undefined reference to `google::protobuf::Arena::AllocateAlignedWithCleanup(unsigned long, std::type_info const*)'
/usr/bin/ld: msg.pb.cc:(.text._ZN6google8protobuf8internal16InternalMetadata27mutable_unknown_fields_slowINS0_15UnknownFieldSetEEEPT_v[_ZN6google8protobuf8internal16InternalMetadata27mutable_unknown_fields_slowINS0_15UnknownFieldSetEEEPT_v]+0x272): undefined reference to `google::protobuf::Arena::AllocateAlignedWithCleanup(unsigned long, std::type_info const*)'
collect2: error: ld returned 1 exit status

搜了很多资料,终于解决了,方法是 需要生成动态连接库如下

lc@lc-host:~/PycharmProjects/cplus/proto_bazel_test$ ll
总用量 60
drwxrwxr-x 5 lc lc  4096 7月  28 14:31 ./
drwxrwxr-x 9 lc lc  4096 7月  28 13:35 ../
-rw-rw-r-- 1 lc lc   303 7月  28 14:24 main.cpp
-rw-rw-r-- 1 lc lc 12906 7月  28 13:54 msg.pb.cc
-rw-rw-r-- 1 lc lc 11943 7月  28 13:54 msg.pb.h
drwxrwxr-x 2 lc lc  4096 7月  28 12:20 OK_proto_bazel/
-rw-rw-r-- 1 lc lc   103 7月  28 14:09 speak.cpp
-rw-rw-r-- 1 lc lc    99 7月  28 13:26 speak.h
drwxrwxr-x 2 lc lc  4096 7月  26 18:06 test_prot_bazel2/
drwxrwxr-x 2 lc lc  4096 7月  28 12:20 .vscode/
lc@lc-host:~/PycharmProjects/cplus/proto_bazel_test$ g++ -c main.cpp & g++ -c msg.pb.cc 
[1] 80671
[1]+  已完成               g++ -c main.cpp
lc@lc-host:~/PycharmProjects/cplus/proto_bazel_test$ g++ ./main.o msg.pb.o -o main_test.out `pkg-config --cflags --libs protobuf`
lc@lc-host:~/PycharmProjects/cplus/proto_bazel_test$ ./main_test.out 
123
hello
lc@lc-host:~/PycharmProjects/cplus/proto_bazel_test$ 

详细请参考 

https://blog.youkuaiyun.com/xiamentingtao/article/details/78339423

https://www.jianshu.com/p/efc9167e7044

undefined reference to `google::protobuf::Message::InitializationErrorString() const' /usr/bin/ld: .build_release/lib/libcaffe.so: undefined reference to `google::protobuf::Message::DebugString() const' /usr/bin/ld: .build_release/lib/libcaffe.so: undefined reference to `google::protob... 阅读详情

相关推荐

报错解决:undefined reference to `snappy::MaxCompressedLength(unsigned long)'

下午在编译phxpaxos的样例时报错了,报错如下: g++ echo_sm.o echo_server.o main.o -o phxecho -L/home/zhang/phxpaxos/.lib -L/home/zhang/phxpaxos/third_party/protobuf/lldb/lib -L/home/zhang/phxpaxos/third_party/gflags/lib ...

个人博客 3009

解决 undefined reference to `google::protobuf::internal::

解决 undefined reference to `google::protobuf::internal::

weixin_41653613的博客 3077

error: no matching function for call to ‘google::protobuf::internal::ArenaStringPtr::GetNoArena’

protobuf版本问题,报错解决方法

ericdowney 2062

caffe protobuf java_ubuntu 16.04安装Caffe报错:undefined reference to `google::protobuf...

Ubuntu 16.04, gcc 5.4版本,安装caffe编译时报错如下:.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray(std::__cxx11::basic_string, std::allo...

weixin_32467423的博客 968

TI DSP的 FFT与IFFT库函数的使用测试

/** * Copyright (C) 2013 Guangzhou Tronlong Electronic Technology Co., Ltd. - www.tronlong.com * * @file dsplib_fft.c * * @brief Example application main file. * This application will run FFT performance test. * * @author Tronlong <support@tron.

ToneChip的专栏,一个传统的嵌入式码农,裸机编程 2676

【Java完整版 面试必备】Leetcode Top100题目和答案-滑动窗口篇

【Java完整版 面试必备】Leetcode Top100题目和答案-滑动窗口篇

weixin_43298211的博客 2245

解决p4c安装时protobuf未定义引用的错误

安装好p4c的依赖之后,执行make -j2时出现以下问题: undefined references to `google::protobuf::internal::LogMessage::operator<<(std::string const&)' 出现问题的原因: p4c要求安装v3.2.0版本的 protobuf库 而新版本的protobuf库需要5.0版本以上的...

weixin_30679823的博客 518

2025浏览器指纹伪装终极指南:Playwright修改WebGL+时区+分辨率,小红书爬1000条零验证

2025年小红书的反爬已经进入“多维校验”时代,单纯修改某一个指纹维度已失效。本文方案的核心是“让所有特征都一致且合理”——WebGL+Canvas+时区+分辨率+UA+行为,形成一个完整的“真实用户画像”,让小红书的反爬系统无法区分是爬虫还是真人。这套方案不仅适用于小红书,也可迁移到知乎、抖音、跨境电商等其他高反爬平台,只需替换对应的指纹库和数据提取逻辑。记住:指纹伪装的本质不是“欺骗”,而是“模拟真实”,把每个细节都做到和人类一致,自然就能实现“零验证”爬取。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 3069

解决报错:/usr/bin/ld: /tmp/cc52JU0u.o: undefined reference to symbol ‘adler32‘ /usr/bin/ld: /lib/x86_64-

代码中使用到了muduo库,protobuf,pthread库。

2303_78940834的博客 294

GO与KEGG富集分析实战:从差异基因到功能注释

本文详细介绍了GO与KEGG富集分析的完整实战流程,从差异基因列表出发,通过基因ID转换、核心分析到结果可视化,系统阐述了如何将基因数据转化为生物学洞察。文章重点讲解了使用R语言clusterProfiler包进行GO和KEGG富集分析的具体步骤、参数设置及常见问题解决方案,并强调了结果解读与生物学故事构建的方法,帮助研究者深入理解差异基因的集体功能倾向。

weixin_29291863的博客 918

RocketMQ源码分析之消息轨迹

文章目录前言一、消息轨迹二、消息轨迹源码分析1、producer端2、consumer端三、消息轨迹中存储的信息1.TraceContext2.TraceBean3.TraceType四、总结 前言   本篇文章将会从以下方面介绍消息轨迹:什么是消息轨迹?如何启用消息轨迹?示例demo、消息轨迹的源码分析和消息轨迹中存储的信息。最后会用一张图来总结消息轨迹的工作原理。 一、消息轨迹 1.什么是消息轨迹? 消息轨迹是用来跟踪记录消息发送、消息消费的轨迹。 2.如何启用消息轨迹? broker端 需要在b

不爱学习的小妞博客 1075

:C++常见gcc编译链接错误解决方法

编译错误枚举

谢白羽 1万+

SSD盘符漂移导致OSD down场景模拟与恢复

运维团队反馈一个问题,现象是:某个OSD对应的cache分区发生了变化,比如原来cache使用的分区是/dev/sde,后来还是这块盘,但分区信息不知何故,变成了/dev/sdf(产品OSD设备并不是根据分区名称来map,而是根据partlabel),最终的现象是这个OSD down了,没法启动.接到这个现象的反馈后,记录一下这个问题在lab的复现方法。

Gavin Blog 937

我的caffe学习之路<第十二天>

caffe和protobuf的链接里对编译器版本有要求,对于我的caffe,4.9可以,5.0就链接不了。         编译protobuf会报protoc: symbol lookup error:         编译caffe会报:                 Undefined reference to google::protobuf         这

change_things的博客 434

FPGA实现LVDS接口(1)--IBUFDS原语、OBUFDS原语和IOBUFDS原语的介绍及使用(仿真/源码)

通过本文您会学到:Xinlix的源语IBUFDS、OBUFDS和IOBUFDS是什么?

孤独的单刀 2万+

Windows Docker + RK3588 部署 YOLO26-Pose 人体姿态检测

YOLO26-Pose 在 RK3588 上的部署流程是 Windows Docker 容器内 ONNX 导出 → RKNN 转换(INT8 量化)→ ADB 推送 → 板端 C++ 推理。YOLO26n-Pose 在 640 输入下全链路约 55 FPS,可以覆盖实时姿态检测需求。先在板端用单张图片验证关键点输出正确性,确认 C++ 后处理的解析逻辑无误后,再切换到摄像头实时推理。

m0_64661770的博客 98

编译链接 protobuf时出现的错误

文章目录问题描述解决方法环境 问题描述 1.编译protobuf的时候会出现链接错误: undefined reference to `google::protobuf::Message::SpaceUsedLong() const' 2.编译的时候会出现 terminate called after throwing an instance of 'google::protobuf::Fata...

nia305的博客 8124

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

protobuf 的 undefined reference 问题

今天安装protobuf,安装 https://blog.youkuaiyun.com/K346K346/article/details/51754431 这篇教程操作时 g++ -o protobufTest.out -lprotobuf test.cpp student.pb.cc 最后一直出不来结果,而且报出一堆 undefined reference to google::protobuf 的错误...

Tartisan的博客 8463

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

版本不兼容导致的undefined reference to `google::protobuf::xxx const‘

解决方法:(以下链接都是我之前写的文章) 一、卸载遗留文件,完全卸载protobuf 二、安装高版本的protobuf 安装protobuf(cpp版) 注:如果非要那个版本的protobuf,那就安装一个低版本的g++,然后重新编译,但是要注意设置优先级 升级g++后,设置多版本优先级

h799710的博客 1425

解决protobuf: undefined reference to `google::protobuf::internal::fixed_address_empty_string[abi:cxx11

问题 在一个c++项目里用到了protobuf3.6.1,运用网上的安装方法后编译出现了这样的问题。 原因总结 所用的protobuf是旧版本的GCC(5之前的版本)所编译的,所以需要卸载后重新用新版本的编译一遍,如果有其他项目引用了旧版本的protobuf,就也不能用了。 明明是新下载安装的protobuf,用的也是新的gcc,仍然有这样的问题。是因为在安装protobuf之前,其实系统里还有一个protobuf,所以用的时候发生了冲突,项目实际上用的是这个旧的。我因为之前安装过ros,里面自带了一个3

weixin_44736938的博客 1万+

protobuf3.4-(2)程序终端编译报错( 未定义的引用undefined reference )

1.编译报错 不正确编译 $ g++ -o main account.cpp …/protobuf/build/libprotobuf-lite.a /tmp/ccOySh1U.o:在函数‘main’中: account.cpp:(.text+0x26):对‘Account::Account()’未定义的引用 /tmp/ccbZPZqN.o:在函数‘protobuf_account_2epro...

明夷TEC的博客 2470

mac php protobuf,macos安装protobuf2.4错误解决方法

在编译安装protobuf 2.4时(具体安装方法可以google),出现如下错误: /bin/sh ../libtool --tag=CXX --mode=compile g -DHAVE_CONFIG_H -I. -I.. -D_THREAD_SAFE -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -O2 -g -DN...

weixin_39765796的博客 408

mac os安装protobuf 2.4错误解决方法

在编译安装protobuf 2.4时(

2316

c++ undefined reference to google::protobuf::internal::VerifyVersion(int, int, char const*)

说明 最近在学习C++,顺带学些了一下CMake,但是当链接(link)的时候,总是出现类似于下面的错误。注:所有关于protobuf的调用链上的函数都显示这个问题,这里只粘贴了其中的一条。 c++ undefined reference to google::protobuf::internal::VerifyVersion(int, int, char const*) 解决方法 由于是链接时出现了问题,因此查看build/CMakeFiles/test_server/link.txt文件,发现该文件

sun%moon 5760

报错 undefined reference to `std::__throw_bad_array_new_length()‘

先说这个错误,,但是自己的cmake中是开启了高版本的c++的。不应该会出现错误,先是怀疑到了protobuf, (因为只要编译它生成的代码就报错),于是拉着grpc一起干掉了(怀疑是当时中间出了问题),删了重新编译。但依然还是有这个错误,于是困惑了几天,一直游走于各种论坛查找问题。

give it a try 5179

caffe入门----Blob(一)(含各种编译错误解决)

Blob是caffe最基础的数据结构。它有4维[num_,channels_,height_,width_]我们通过代码来看看#include <vector> #include <iostream> #include <caffe/blob.hpp> using namespace caffe; using namespace std;int main(void){ //声明一个Blob变

欢迎来到我的酒馆 2481
上一篇: ASR常用模型
下一篇: protobuf 中bytes与string在C++中的区别
令羽飞飞
博客等级 码龄14年 42粉丝 166原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值