QtCreator的中如何使用第三方依赖库

二、QTcreator 安装及问题解决 QTcreator安装及问题解决   事实上发现只要配置好软件源(163挺好)并sudo apt-getupdate ,一般正常使用都是完全没有问题的。   QTcreator是挺不错的IDE(集成开发环境),跨平台。Ubuntu下还有其他IDE也挺不错,例如Kdevelop(可以完整支持CMAKE工程)、Codeblocks都可以试试。 一、在官方下载点下载.run文件,下面这个链接 阅读详情

      之前项目里使用其它的第三方库都是leader或同事给配置好的,从没操心这回事,真是惭愧,哭。今天同学给我发来一个工程,需用使用到Qt库和Qwt库,用QtCreator打开编译,提示找不到Qwt库里的头文件,于是试着配置一下,居然折腾了许久还没运行起来。后来看了一下Qt的qmake文档,才得以搞定。qmake 的说明文档里有关于声明使用其它库的说明:

Declaring Other Libraries

If you are using other libraries in your project in addition to those supplied with Qt, you need to specify them in your project file.

The paths that qmake searches for libraries and the specific libraries to link against can be added to the list of values in the LIBS variable. The paths to the libraries themselves can be given, or the familiar Unix-style notation for specifying libraries and paths can be used if preferred.

For example, the following lines show how a library can be specified:

 LIBS += -L/usr/local/lib -lmath

The paths containing header files can also be specified in a similar way using the INCLUDEPATH variable.

For example, it is possible to add several paths to be searched for header files:

 INCLUDEPATH = c:/msdev/include d:/stl/include

    如果电脑上已经安装了Qt 和Qwt的环境,那么对于一个需要使用Qwt的程序来说,只需要在其工程文件中添加如下配置:

(假设你的Qwt安装目录为 C:/Qwt-6.0.1 )

1)在 LIBS 变量后面添加链接这个库的路径(例如-LC:/Qwt-6.0.1/lib)和名称(例如 -lqwt, 也可以用 qtAddLibrary(qwt) 添加动态库)

2)在INCLUDEPATH variable.后面添加这个引用该库所需要的头文件(例如 C:/Qwt-6.0.1/include)

 

#include( $${PWD}/../examples.pri )
#include( ../3rdparty/qwt/qwtplot.pri )
#include( C:/Qwt-6.0.1/features/qwtconfig.pri )
INCLUDEPATH += C:/Qwt-6.0.1/include #必须有
#DEPENDPATH  += C:/Qwt-6.0.1/lib
#LIBS += -L/usr/local/lib -lmath
LIBS      += -LC:/Qwt-6.0.1/lib -lqwt #必须有 否则报错 :-1: error: cannot find -lqwt
#qtAddLibrary(qwt) #必须有

#CONFIG += qwt




 

Qt Creator添加外部依赖项 上述代码中,INCLUDEPATH变量指定了头文件的路径,LIBS变量指定了库文件的路径和需要链接的库。在这里我们可以看到“qmake”步骤已经自动添加了我们之前在.pro文件中定义的依赖库。如果需要手动添加,可以点击“添加构建步骤”,选择“自定义步骤”。接下来,在Qt Creator中打开项目文件,点击左侧菜单栏中的“项目”选项卡,在右侧“构建设置”中选择“构建步骤”。在项目开发中,有时候我们需要使用一些外部的库或者框架,这就需要我们在Qt Creator中手动添加这些依赖项。 阅读详情

相关推荐

Qt基础篇:如何为Qt项目 添加第三方库头文件和lib 以及 解决中文乱码

使用Qt版本:5.13.2 两种添加方法: 方法1:右键项目名称,选择“添加库…”,选择外部库。 方法2:打开“.pro”项目文件:在最结尾部位添加如下代码: win32: LIBS += -LD:/OSGCore/Debug/lib/ -lOpenThreadsd // 依赖的lib名称 win32: LIBS += -LD:/OSGCore/Debug/lib/ -losgd win32: LIBS += -LD:/OSGCore/Debug/lib/ -losgDBd win32: LIBS += -

欧特GO 9391

Linux学习笔记-shell脚本拼接文件并排序

shell实现两个文件的拼接 在实际的数据处理中,需要将多个文件写到同一个文件中,或者实现两个文件的拼接操作,这时候可以采用如下代码: cat inputFileName1 > outputFileName cat inputFileName2 >> outputFileName 第一行的目的是将输入文件1输出到输出文件中,第二行是将输入文件二直接添加在输出文件的尾部。随后如果仍有后续文件的拼接可继续使用第二行: cat inputFileNamen >> outputFil

weixin_45030158的博客 3172

QtCreator里添加外部第三库、头文件路径的方法(.pro文件)

一、前言 在项目开发过程中,经常需要用到第三方库,需要在QtCreator工程里指定第三库的路径、头文件路径、引用的库名称等等;并且可能还需要编写通用工程针对不同的编译器类型,位数选择不同的库,针对不同的操作系统环境选择不同的库;那么这些条件的区分都可以在QtCreator的pro工程文件里编写逻辑实现。 下面就介绍常用的添加库、头文件的方法,以libvlc、ffmpeg、opencv等常用的第三方库作为示例,编译器分别选择VS2017(32位)、MinGW(32位)进行测试。 二、添加第三方库与头文件 下

1万+

Qt中的 DEPENDPATH 和 INCLUDEPATH 的区别

Qt中的 DEPENDPATH 和 INCLUDEPATH 的区别

ken2232的博客 2392

Python 爬取网页文字并保存为 txt 文件教程

将要爬取的网页网址赋值给变量url。

2403_89537385的博客 2789

500多种目标检测数据集下载地址汇总(YOLO、VOC)

【目标检测】红外物体检测-人、自行车、公交、小车、摩托车、骑行者、动物等15000张YOLO+VOC(含部分截取增强图).zip。【目标检测】医用个人防护装备检测数据集981张5类别(口罩、工作服、护目镜、手套、面罩检测数据集)VOC+YOLO格式.zip。【目标检测】车辆分类数据集1880张7类VOC+YOLO(含摩托车、救护车、消防车、警车、警用摩托车、轿车、大车).zip。【目标检测】隐翅虫数据集386张VOC+YOLO【目标检测】隐翅虫数据集386张VOC+YOLO【目标检测】隐翅虫数据集。

2401_85863780的博客 9151

qt 添加依赖库lib_QtCreator 添加第三方头文件库文件路径

在windows下用FTP命令上传文件到Linux在桌面新建个文件夹,命名成MySQL.rpm.把需要上传的文件放到这个文件夹里.打开cmd窗口,开始用下面命令操作: C:\Users\huyadi>cd C:\Users\huyadi\Des ...ArcGis :正尝试在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起...

weixin_39635314的博客 1234

Windows 10/11 注册表 ProfileImagePath 误改修复:3步恢复用户登录与数据安全

本文详细介绍了Windows 10/11系统中因误改注册表ProfileImagePath键值导致用户无法登录的修复方法。通过3个关键步骤,包括定位SID、安全修复注册表项及验证处理,帮助用户恢复登录并保障数据安全。特别强调了操作顺序的重要性以避免数据丢失,适用于各类Windows用户账户登录错误的紧急处理。

chuoshao2508的博客 403

Qt开发 | 开发技巧 | 带参数启动外部进程 | QtCreator与VS链接第三方库 | windeployqt提取Qt依赖库 | vs win32项目添加x64编译方式 | Qt多语言与国际化

常用的Qt开发技巧总结

zwcslj的博客 1882

开源光标主题实战:从Moshi Monsters到自定义指针的完整指南

光标主题是操作系统个性化的重要组成部分,它通过替换系统默认指针图标来改变视觉交互体验。其原理在于操作系统允许用户自定义指针资源文件,这些文件定义了不同状态下的光标图像。从技术价值看,一套设计良好的光标主题不仅能提升桌面美观度,还能增强用户的情感连接和操作愉悦感,是低成本高回报的数字幸福感提升方案。在应用场景上,无论是开发者、设计师还是普通用户,都可以通过更换光标主题来个性化工作环境。本文以热门的Moshi Monsters开源光标项目为例,深入解析了光标主题的设计逻辑、系统适配方案以及二次创作方法,涵盖了W

weixin_30879833的博客 555

从零到一:NI USB-8506 LIN通讯的驱动安装与硬件调试全攻略

本文详细介绍了NI USB-8506 LIN通讯设备的驱动安装与硬件调试全流程,包括硬件准备、驱动下载与配置、NI MAX设置及常见问题解决方案。通过实战应用与性能优化技巧,帮助用户快速掌握LIN通讯技术,适用于车载数据记录和自动化测试等场景。

weixin_28273593的博客 924

linux下编译qt5.6.0静态库

linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberry 选项: Android 选项: 生成makefile 遇到链接检查失败的情况 生成makefile后进行编译 编译时...

我的博客 3235

Prometheus常用配置介绍

除了 scrape_configs 外,上部还有 global 和 rule_files 部分, 其中 global 中 是 全 局 参 数 , scrape_interval 指 定 全 局 默 认 的 时 间 间 隔 , evaluation_interval 指定告警规则校验的时间间隔,rule_files 指定了告警规 则文件的位置名称。• annotations(注释):它们被用于存储更长的其他信息,例如警报描述 或者链接,注释值也可以被模板化。• alert:告警的名称。

weixin_42886699的博客 2260

C++ Qt 学习(十):Qt 其他技巧

C++ Qt 学习(十):Qt 其他技巧

qq_42994487的博客 780

OPPO 后端校招面试,过于简单了!

你好,我是 Guide。2026 届秋招陆续开奖公司的越来越多了,今天来看一家手机厂 OPPO。前几天,已经分享了和今年校招开奖的情况。其中,小红书的薪资最为炸裂,大白菜一年都能给到 51w+。不过,相对应的工作强度和压力也是真的难顶,确实很难有钱多又轻松的活!OV (OPPO 和 Vivo)这几年发展真还可以的,这两家的高端机口碑都不错。本人也是最近入手了一款 Vivo 的上一代旗舰,拍照是真的不错啊!每个月会有 1.2k 生活补贴,生活费是按照 8 % 缴纳。

JavaGuide 750

CAPL学习之路-关键字

在capl中,关键字具有特殊的含义和用途,因此,不得将关键字用作变量或函数的名称 声明数据类型的关键字 可以用不同的关键字,声明或引用不同类型的数据 byte 声明一个字节的变量 word 声明两个字节的变量 dword 声明四个字节的变量 int 声明两个字节的整数 long 声明四个字节的变量 qword 声明八个字节的变量 char 声明一个字符串 float 声明一个浮点数,8个字节 double 声明一个浮点数,8个字节 定义一个结构体或枚举类型 struct struct Data { .

jasonj333 6108

【Qt问题】windeployqt如何提取Qt依赖库

【Qt问题】windeployqt如何提取Qt依赖库

LF__plus的博客 1343

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

QT Creator 如何将第三方库加入到环境内

QT Creator 如何将第三方库加入到环境内 2010-03-25 23:13 2470人阅读 评论(0) 收藏 举报 qtmakefile编译器microsoftthreadnetwork 供楼主参考.pro文件,需要注意的是,如果你用的编译器是MSVC,则不需要写要链接的boost库名,编译器会自动链接的,如果是GCC/MinGW,则需要手工写要链接的boost库名。

autumn20080101的专栏 1702

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

QtAV--- ubuntu编译与运行

Qt第三方库QtAV— ubuntu编译与运行 1.配置基本环境 sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev sudo apt-get install libavutil-dev libavcodec-dev libavformat-dev libswscale-dev 2.安装两个基本库 1)安装openal: sudo apt-get install libopenal-dev libpulse-dev li

qq_38595610的博客 863

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

插件打包错误ue_程序打包问题及解决方法汇总

一直来被问得最多的是关于windows系统上程序打包上问题。经过一段时间的整理,将一些问题和解决方法都列出来供大家参考。0x00 小白:怎么我编译好的程序在QtCreator能运行,但我在文件夹下打开却不行了呢? Qt君:因为QtCreator运行下的程序附带了运行环境,而离开了QtCreator软件没有运行环境会报以下的一些错误(库找不到)。0x01 小白:那我该怎么找这些库呢...

weixin_32848617的博客 1464

Guayadeque 项目常见问题解决方案

Guayadeque 项目常见问题解决方案 1. 项目基础介绍和主要编程语言 Guayadeque 是一个开源的音乐播放器项目,它致力于提供一个具有现代感的用户界面和丰富的功能。该项目基于跨平台的 Qt 框架开发,主要使用 C++ 编程语言,同时使用了一些 Qt 提供的元对象系统(如信号与槽机制)来增强代码的灵活性和可维护性。 2. 新手常见问题及解决步骤 问题一:编译环境配置 问题描述:新手在尝...

gitblog_00295的博客 966

QtCreator查看及编译QtCreator源码

QtCreator源码是学习Qt插件框架很好的源码,遗憾的是用QtCreater打开其源码(CMakeLists.txt)会报诸多cmake错误,今天闲来无事,对错误进行逐个解决并记录。 准备环境 环境 UOS家庭版21.1(家庭版免激活的,白嫖,纵享丝滑) QtCreator源码 4.11.2 安装系统,3种方式 通过UOS官网的镜像文件进行虚拟机安装 通过UOS官网的镜像文件制作启动盘安装 通过UOS官网提供的windows在线一键双系统安装工具进行双系统安装 打开开发者权...

qq_25960291的博客 2566

解决QtCreator无法输入中文的问题

解决QtCreator程序无法输入中文的问题,包括开发程序无法输入中文和控件无法输入中文

Crazy_Diamond_的博客 2579

Ubuntu18.4下使用Qtcreator编译QGIS3.10.5

系统环境 Ubuntu 18.04.4 LTS QGIS代码版本 : QGIS-3.10.5 Qt5.9.5,Qtctreator4.5.1 编译前准备 1.安装依赖库: sudo apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexiv2-dev libexpat1-de.

随风而动的博客 1892

Ubuntu 16.04下 QtCreator的使用

@Ubuntu &qtcreator 欢迎使用Markdown编辑器 环境: Ubuntu 16.04 OpenCV 3.4.6 Qt 5.11.3 参考链接: https://blog.youkuaiyun.com/wanzhen4330/article/details/82622664 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增...

sunmaize的博客 1180
上一篇: 《C++编程规范》读书笔记(下)
下一篇: 在Qt中如何使用QtDesigner创建的UI文件(一)
e5Max
博客等级 码龄14年 145粉丝 129原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值