HiWork1.3.2版本震撼发布——HiWork已实现全端覆盖!!

HiWork1.3.2版本新增桌面端,实现全端覆盖,支持团队切换,第三方应用消息可推送到讨论组,公开频道可转为私有,手机端也能创建团队,提升团队沟通效率和便利性。



HiWorkV1.3.2版本发布,这次的版本更新给大家带来哪些便利呢?小编这就带你去看看。


1.HiWork首发桌面端,实现全端覆盖


HiWorkV1.3.2版本发布了适用于Window、Linux、和Mac OS操作系统的HiWork 桌面客户端,到目前为止,HiWork已经做到了web、android、iphone、ipad、windows、mac、linux七个端的全端覆盖,方便使用不同操作系统的各类用户使用,信息完全同步。
有了桌面客户端,你可以像使用qq一样使用HiWork了,在做别的工作时可将HiWork客户端最小化或放到托盘,有重要消息HiWork会用闪动或其他方式提醒到你,不用担心不小心关掉web页面而影响团队沟通,完全不用改变原来的操作习惯。
喜欢使用客户端小巧呆萌的感觉或者使用苹果笔记本,android手机及linux操作系统的你完全不用担心啦,不论你用的是哪种操作系统,或者是手机、平板电脑,都可以随心所欲,随时随地,很轻松方便地跟伙伴进行沟通交流了。
想要下载客户端的伙伴们可以在HiWork首页 http://www.hiwork.cc的导航栏中点击“客户端”,然后选择需要的下载即可。



2.新增团队切换

HiWork新版本增加团队切换功能,伙伴们可以在不同团队之间方便地进行切换并快速沟通啦!这对于隶属多个团队或拥有多个角色的成员来说,节省了很多零碎时间,工作效率悄悄提高了一大截,在HiWork中进行团队沟通就是这么简单轻松。

3.第三方应用消息可推送到讨论组

HiWork新版本支持将第三方应用消息推送到讨论组啦,这对于团队伙伴们来说,有了更多的选择余地。团队成员完全可以根据自己的需要,自由地选择将消息推送到频道及讨论组。再也不用频繁切换软件获取第三方软件消息,节省了很多碎片时间,工作效率不知不觉提高了呢。

4.公开频道可转换为讨论组(私有频道)

HiWorkV1.3.2版本实现了公开频道可转换为讨论组(私有频道)。团队成员完全可以根据工作需要,将公开频道转换为讨论组,而原有的沟通记录及共享文件记录、第三方消息记录等信息都得以完全保留。

5.可以在手机上创建团队啦!

HiWorkV1.3.2版本支持在手机端创建团队啦!对于习惯手机操作的用户来说,完全可以在手机上进行团队创建了。还等什么哪?下载HiWork手机app来用用看哈。


啰嗦一下,别拍砖:)


HiWork为你提供更贴心的服务,让你的团队沟通更轻松,更方便。第三方软件的消息推送将消息集合在一起,让你不用再频繁切换软件查看消息,节省时间,同时也绝不会遗漏重要信息。


如果你对HiWork有兴趣,请登录 http://www.hiwork.cc 创建团队,我们会为你提供贴心的服务。如果有任何意见或建议,也欢迎私信给我们或者发邮箱:hiwork@16feng.com,我们将第一时间回复您。
Hi3518 SDK 安装以及升级使用说明 第一章 Hi3518_SDK_Vx.x.x.x版本升级操作说明 如果您是首次安装本SDK,请直接参看第2章。 第二章 首次安装SDK 1、Hi3518 SDK包位置 在"Hi3518_V100R001SPC***/01.software/board"目录下,您可以看到一个 Hi3518_SDK_Vx.x.x.x.tgz 的文件,该文件就是Hi3518的软件开发包。 其中,Hi3518_V100R001SPC01xxx对应的是uclib版本,Hi3518_V100R001SPC02xxx对应的是glibc版本2、解压缩SDK包 在linux服务器上(或者一台装有linux的PC上,主流的linux发行版本均可以),使用命令:tar -zxf Hi3518_SDK_Vx.x.x.x.tgz , 解压缩该文件,可以得到一个Hi3518_SDK_Vx.x.x.x目录。 3、展开SDK包内容 1) 在执行安装脚本前建议修改系统默认shell为bash。 2) 返回Hi3518_SDK_Vx.x.x.x目录,运行source sdk.unpack(请用root或sudo权限执行)将会展开SDK包打包压缩存放的内容,请按照提示完成操作。 如果您需要通过WINDOWS操作系统中转拷贝SDK包,请先运行source sdk.cleanup,收起SDK包的内容,拷贝到新的目录后再展开。 4、在linux服务器上安装交叉编译器 1)安装uclibc交叉编译器(注意,需要有sudo权限或者root权限): 进入Hi3518_SDK_Vx.x.x.x/osdrv/toolchain/arm-hisiv100nptl-linux目录,运行chmod +x cross.install,然后运行./cross.install即可。 2) 安装glibc交叉编译器(注意,需要有sudo权限或者root权限): 进入Hi3518_SDK_Vx.x.x.x/osdrv/toolchain/arm-hisiv200-linux目录,运行chmod +x cross.install,然后运行./cross.install即可。 3) 执行source /etc/profile, 安装交叉编译器的脚本配置的环境变量就可以生效了,或者请重新登陆也可。 5、编译osdrv 参见osdrv目录下readme 6、SDK目录介绍 Hi3518_SDK_Vx.x.x.x 目录结构如下: |-- sdk.cleanup # SDK清理脚本 |-- sdk.unpack # SDK展开脚本 |-- osdrv # 存放操作系统及相关驱动的目录 | |-- busybox # busybox源代码 | |-- drv # drv源代码 | |-- kernel # linux内核源代码 | |-- pub # 编译好的镜像、工具、drv驱动等 | |-- rootfs_scripts # rootfs源代码 | |-- toolchain # 交叉编译器 | |-- tools # linux工具源代码 | |-- uboot # uboot源代码 | `-- Makefile # osdrv Makefile |-- package # 存放SDK各种压缩包的目录 | |-- osdrv.tgz # linux内核/uboot/rootfs/tools源码压缩包 | |-- mpp.tgz # 媒体处理平台软件压缩包 | `-- image # 可供FLASH烧写的映像文件,如内核、根文件系统 |-- scripts # 存放shell脚本的目录 |-- mpp # 存放媒体处理平台的目录 |-- component # 组件源代码 |-- extdrv # 板级外围驱动源代码 |-- include # 对外头文件 |-- ko # 内核模块 |-- lib # release版本库以及音频库 |-- tools # 媒体处理相关工具 `-- sample # 样例源代码 第三章、安装、升级Hi3518DEMO板开发开发环境 # 如果您使用的Hi3518的DEMO板,可以按照以下步骤烧写u-boot,内核以及文件系统,以下步骤均使用网络来更新。 # 通常,您拿到的单板中已经有烧写u-boot,如果没有的话,建议更换带u-boot的Flash。 # 更详细的操作步骤及说明,请参见01.software\board\documents目录下的《Linux开发环境用户指南》。 # 以下操作假设您的单板上已经有u-boot,使用网口烧写uboot、kernel及rootfs到Flash中。 # Demo单板默认为从SPI Flahs启动。 1、配置tftp服务器 # 可以使用任意的tftp服务器; # 如果使用hi3518a,将package/image_uclibc_hi3518a(或image_glibc_hi3518a)下的相关文件拷贝到tftp服务器目录下; # 如果使用hi3518c,将package/image_uclibc_hi3518c(或image_glibc_hi3518c)下的相关文件拷贝到tftp服务器目录下; # 如果使用hi3516c,则使用package/image_uclibc_hi3516c(或image_glibc_hi3516c)目录下的相关文件镜像。 2、参数配置 # 单板上电后,敲任意键进入u-boot。设置serverip(即tftp服务器的ip)、ipaddr(单板ip)和ethaddr(单板的MAC地址)。 setenv serverip xx.xx.xx.xx setenv ipaddr xx.xx.xx.xx setenv ethaddr xx:xx:xx:xx:xx:xx setenv netmask xx.xx.xx.xx setenv gatewayip xx.xx.xx.xx ping serverip,确保网络畅通。 3、烧写映像文件到SPI Flash 以16M SPI Flash为例。 1)地址空间说明 | 1M | 3M | 12M | |------------|---------------|-----------------------| | boot | kernel | rootfs | 以下的操作均基于图示的地址空间分配,您也可以根据实际情况进行调整。 2)烧写u-boot sf probe 0 sf erase 0 0x100000 mw.b 82000000 ff 100000 tftp 0x82000000 u-boot-200MHZ.bin #如果是hi3516c,使用u-boot-220MHZ.bin sf write 82000000 0 100000 reset 3)烧写内核 sf probe 0 sf erase 100000 0x300000 mw.b 82000000 ff 300000 tftp 82000000 uImage sf write 82000000 100000 300000 4)烧写文件系统 sf probe 0 sf erase 400000 0xc00000 mw.b 82000000 ff c00000 tftp 82000000 rootfs_64k.jffs2 sf write 82000000 400000 0xc00000 5)设置启动参数 setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),3M(kernel),12M(rootfs)' setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000' save 4、烧写映像文件到NAND Flash 注意:Hi3518c不支持nand flash 下面以128M 2k1bit类型的Nand Flash为例。 1)地址空间说明 | 1M | 3M | 12M | 112M | |------------|---------------|-----------------------|-----------------------| | boot | kernel | rootfs | others | 以下的操作均基于图示的地址空间分配,您也可以根据实际情况进行调整。 2)烧写u-boot mw.b 82000000 ff 100000 tftp 82000000 u-boot-200MHZ.bin #如果是hi3516c,使用u-boot-220MHZ.bin nand erase 0 100000 nand write 82000000 0 100000 reset 3)烧写内核 mw.b 82000000 ff f00000 tftp 82000000 uImage nand erase 100000 300000 nand write 82000000 100000 300000 4)烧写文件系统 mw.b 82000000 ff c00000 tftp 82000000 rootfs_2k_1bit.yaffs2 nand erase 400000 c00000 nand write.yaffs 82000000 400000 $(filesize) 5)设置启动参数 setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=yaffs2 mtdparts=hinand:1M(boot),3M(kernel),12M(rootfs),112M(others)' setenv bootcmd 'nand read 0x82000000 0x100000 0x300000;bootm 0x82000000' save 5、启动新系统 reset # 重启进入新系统。 第四章、开发前环境准备 1、管脚复用 与媒体业务相关的管脚复用都在mpp/ko_Hi3518目录下的sh脚本中配置,如果与实际情况不符请直接修改,此脚本被load3518调用,在加载mpp内核模块之前被执行; mpp之外的其他管脚复用统一在uboot中配置,详细说明请参见《U-boot移植应用开发指南》。 第五章、使用SDK和DEMO板进行开发 1、开启Linux下的网络 # 设置网络 ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx; ifconfig eth0 xx.xx.xx.xx netmask xx.xx.xx.xx; route add default gw xx.xx.xx.xx # 然后ping一下其他机器,如无意外,网络将能正常工作。 2、使用NFS文件系统进行开发 # 在开发阶段,推荐使用NFS作为开发环境,可以省去重新制作和烧写根文件系统的工作。 # 挂载NFS文件系统的操作命令: mount -t nfs -o nolock -o tcp xx.xx.xx.xx:/your-nfs-path /mnt # 然后就可以在/mnt目录下访问服务器上的文件,并进行开发工作。 3、开启telnet服务 # 网络正常后,运行命令 telnetd& 就可以启动单板telnet服务,然后才能使用telnet登录到单板。 4、运行MPP业务 # 在单板linux系统下,进入mpp/ko_Hi3518目录,加载KO。执行load3518脚本时需要带sensor名,如使用ar0130 sensor: cd mpp/ko_hi3518 ./load3518 -i ar0130 # 进入各sample目录下执行相应样例程序(sample需要先在服务器上成功编译过) cd mpp/sample/vio ./sample_vio 0 第六章 地址空间分配与使用 1、DDR内存管理说明 1)所有DDR内存中,一部分由操作系统管理,称为OS内存;另一部分由MMZ模块管理,供媒体业务单独使用,称为MMZ内存。 2)OS内存起始地址为0x80000000,内存大小可通过bootargs进行配置,例如第三章中的setenv bootargs 'mem=64M ... ',表示分配给操作系统内存为64M,您可以根据实际情况进行调整。 3)MMZ内存由MMZ内核模块管理(mpp/ko_hi35xx目录下的mmz.ko),加载mmz模块时,通过模块参数指定其起始地址及大小,例如: insmod mmz.ko mmz=anonymous,0,0x84000000,64M anony=1 表示mmz一块区域,区域的名称为anonymous,起始地址为0x84000000,大小为64M。 您可以通过修改mpp/ko_Hi3518目录下load3518脚本中的mmz模块参数,来修改其起始地址和总大小。 4)请注意MMZ内存地址范围不能与OS内存重叠。 2、DEMO板DDR内存管理示意 1) 以容量为128MBytes的DDR内存为例,以下为根据本文档和SDK默认配置得到的内存管理示意图: -----|-------| 0x80000000 # Memory managed by OS. 64M | OS | | | -----|-------| 0x84000000 # Memory managed by MMZ block anonymous. 64M | MMZ | | | -----|-------| 0x88000000 # End of DDR. 注意: (1)用户在配置启动参数时需要设置OS的管理内存为64M,“setenv bootargs 'mem=64M ...”。 (2)系统启动后,配置load3518的脚本中mmz的管理内存为64M,“insmod mmz.ko mmz=anonymous,0,0x84000000,64M”。
1.osdrv commands description: The design idea of this catalog is to fulfil the requirement that compiling the same set of source code with two different compilation tool chains. So an extra parameter to specify a specific compiler tool chain is needed. The arm-hisiv100nptl-linux toolchain is for uclibc, and the arm-hisiv200-linux toolchain for glibc. Specific commands are as follows: (1)Compile the entire osdrv directory: make OSDRV_CROSS=arm-hisiv100nptl-linux CHIP=hi3521 all make OSDRV_CROSS=arm-hisiv100nptl-linux CHIP=hi3520a all make OSDRV_CROSS=arm-hisiv100nptl-linux CHIP=hi3520d OSDRV_SIZE=full all make OSDRV_CROSS=arm-hisiv100nptl-linux CHIP=hi3520d OSDRV_SIZE=mini all or: make OSDRV_CROSS=arm-hisiv200-linux CHIP=hi3521 all make OSDRV_CROSS=arm-hisiv200-linux CHIP=hi3520a all make OSDRV_CROSS=arm-hisiv200-linux CHIP=hi3520d all (2)Clear all compiled files under osdrv directory: make OSDRV_CROSS=arm-hisiv100nptl-linux CHIP=hi3521 clean make OSDRV_CROSS=arm-hisiv100nptl-linux CHIP=hi3520a clean make OSDRV_CROSS=arm-hisiv100nptl-linux CHIP=hi3520d OSDRV_SIZE=full clean make OSDRV_CROSS=arm-hisiv100nptl-linux CHIP=hi3520d OSDRV_SIZE=mini clean or: make OSDRV_CROSS=arm-hisiv200-linux CHIP=hi3521 clean make OSDRV_CROSS=arm-hisiv200-linux CHIP=hi3520a clean make OSDRV_CROSS=arm-hisiv200-linux CHIP=hi3520d clean (3)Completely remove all compiled files under osdrv directory, and the generated images: make OSDRV_CROSS=arm-hisiv100nptl-linux CHIP=hi3521 distclean make OSDRV_CROSS=arm-hisiv100nptl-linux CHIP=hi3520a distclean make OSDRV_CROSS=arm-hisiv100nptl-linux CHIP=hi3520d OSDRV_SIZE=full distclean make OSDRV_CROSS=arm-hisiv100nptl-linux CHIP=hi3520d OSDRV_SIZE=mini distclean or: make OSDRV_CROSS=arm-hisiv200-linux CHIP=hi3521 distclean make OSDRV_CROSS=arm-hisiv200-linux CHIP=hi3520a distclean make OSDRV_CROSS=arm-hisiv200-linux CHIP=hi3520d distclean (4)Separately compile kernel: Enter the top directory the kernel source code, do the following: cp arch/arm/configs/godarm_defconfig .config cp arch/arm/configs/godcare_defconfig .config cp arch/arm/configs/hi3520d_full_defconfig .config make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- menuconfig make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- uImage or: cp arch/arm/configs/godarm_defconfig .config cp arch/arm/configs/godcare_defconfig .config cp arch/arm/configs/hi3520d_full_defconfig .config make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- menuconfig make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- uImage (5)Separately compile uboot: Enter the top directory of boot source code, do the following: make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- godarm_config make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- godcare_config make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- hi3520d_config make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- or: make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- godarm_config make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- godcare_config make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- hi3520d_config make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- (6)Build file system image: A compiled file system has already been in osdrv/pub/, so no need to re-build file system. All what you need to do is to build the right file system image according to the flash specification of the single-board. Only image of jffs2 format is available for spi flash. While making jffs2 image, you need to specify the spi flash block size. flash block size will be printed when uboot runs. run mkfs.jffs2 first to get the right parameters from it's printed information. Here the block size is 64KB, for example: osdrv/pub/bin/pc/mkfs.jffs2 -d osdrv/pub/rootfs_uclibc -l -e 0x40000 -o osdrv/pub/rootfs_uclibc_256k.jffs2 or: osdrv/pub/bin/pc/mkfs.jffs2 -d osdrv/pub/rootfs_glibc -l -e 0x40000 -o osdrv/pub/rootfs_glibc_256k.jffs2 Only image of yaffs2 format is available for nand flash. While making yaffs2 image, you need to specify it's page size and ECC. This information will be printed when uboot runs. run mkyaffs2image first to get the right parameters from it's printed information. Here to 2KB pagesize, 1bit ecc, for example: osdrv/pub/bin/pc/mkyaffs2image osdrv/pub/rootfs_uclibc osdrv/pub/rootfs_uclibc_2k_1bit.yaffs2 1 1 or: osdrv/pub/bin/pc/mkyaffs2image osdrv/pub/rootfs_glibc osdrv/pub/rootfs_glibc_2k_1bit.yaffs2 1 1 2. Image storage directory description The compiled image, rootfs, etc. stored in osdrv/pub directory pub │ rootfs_uclibc.tgz ------------------------------------------ hisiv100nptl compile the rootfs file system │ rootfs_glibc.tgz ------------------------------------------- hisiv200 compile the rootfs file system │ ├─image_glibc ------------------------------------------------- hisiv200 compile the image file │ uImage_hi35xx---------------------------------------------- kernel image │ u-boot-hi35xx_xxMHz.bin --------------------------------- u-boot image │ rootfs_hi35xx_xxk.jffs2 --------------------------------- jffs2 rootfs image(Corresponding to the spi-flash blocksize = 256K) │ rootfs_hi35xx_2k_1bit.yaffs2 ---------------------------- yaffs2 rootfs image(Corresponding to the nand-flash pagesize=2K ecc=1bit) │ ├─image_uclibc ----------------------------------------------- hisiv100nptl compile the image file │ uImage_hi35xx ----------------------------------------- kernel image │ u-boot-hi35xx_xx_MHz.bin ------------------------------ u-boot image │ rootfs_hi35xx_xxk.jffs2 -------------------------------- jffs2 rootfs image(Corresponding to the spi-flash blocksize = xxK) │ rootfs_hi35xx_xxk.squashfs ----------------------------- squashfs rootfs image(Corresponding to the spi-flash blocksize = xxK) │ rootfs_hi35xx_2k_1bit.yaffs2 --------------------------- yaffs2 rootfs image(Corresponding to the nand-flash pagesize=2K ecc=1bit) │ └─bin ├─pc │ mkfs.jffs2 │ mkimage │ mkfs.cramfs │ mkyaffs2image │ ├─board_glibc -------------------------------------------- hisiv200 compiles the message board with communications tools │ flash_eraseall │ flash_erase │ nandwrite │ mtd_debug │ flash_info │ sumtool │ mtdinfo │ flashcp │ nandtest │ nanddump │ parted_glibc │ gdb-arm-hisiv200-linux │ └─board_uclibc ------------------------------------------- hisiv100nptl compiles the message board with communications tools flash_eraseall flash_erase nandwrite mtd_debug flash_info parted_uclibc sumtool mtdinfo flashcp nandtest gdb-arm-hisiv100nptl-linux nanddump 3.osdrv directory structure: osdrv ├─Makefile ------------------------------ osdrv catalog compiled script ├─busybox ------------------------------- Storage busybox source code directory ├─tools --------------------------------- Storing tools directory │ ├─board_tools ----------------------- A variety of single-board tools │ │ ├─reg-tools-1.0.0 --------------- Register read and write tool │ │ ├─mtd-utils --------------------- tool to read and write flash nude │ │ ├─udev-100 ---------------------- udev toolset │ │ ├─gdb --------------------------- gdb tools │ │ ├─parted ------------------------ Large-capacity hard disk partitioning tool │ │ └─e2fsprogs --------------------- mkfs tools │ └─pc_tools -------------------------- Tools on a variety of pc │ ├─mkfs.cramfs ------------------- tools for making cramfs file system │ ├─mkfs.jffs2 -------------------- tools for making jffs2 file system │ ├─mkimage ----------------------- tools for making uImage │ ├─mkyaffs2image301 -------------- yaffs2 file system creation tools │ └─uboot_tools ------------------- uboot image creation tools, xls files and the ddr initialization script, bootrom tool ├─toolchain ----------------------------- Tool chain store directory │ ├─arm-hisiv100nptl-linux ---------------- hisiv100nptl cross tool chain │ └─arm-hisiv200-linux ---------------- hisiv200 cross tool chain ├─pub ----------------------------------- A variety of image storage directory │ ├─image_glibc ----------------------- Compiler tool chain based hisiv100nptl available FLASH burning of image files, including uboot, kernel, file system │ ├─image_uclibc ---------------------- Compiler tool chain based hisiv200 available FLASH burning of image files, including uboot, kernel, file system │ ├─bin ------------------------------- Not placed in the root file system of various tools │ │ ├─pc ---------------------------- Tools running on the pc │ │ ├─board_glibc ------------------- Compiler tool chain based hisiv100nptl, implementation of tools in a single board │ │ └─board_uclibc ------------------ Compiler tool chain based hisiv200, implementation of tools in a single board │ ├─rootfs_uclibc.tgz ----------------- Hisiv100nptl tool chain based on the root file system compiled │ └─rootfs_glibc.tgz ------------------ Hisiv200 tool chain based on the root file system compiled ├─rootfs_scripts ------------------------ Production of storage root file system directory script ├─uboot --------------------------------- Store uboot source code directory └─kernel -------------------------------- Store kernel source code directory 4.Note (1)If a tool chain needs to be replaced by the other, remove the original compiled files compiled with the former tool chain, and then replace the compiler tool chain with the other. (2)Executable files in Linux may become non-executable after copying them to somewhere else under Windows, and result in souce code cannot be compiled. Many symbolic link files will be generated in the souce package after compiling the u-boot or the kernel. The volume of the source package will become very big, because all the symbolic link files are turning out to be real files in Windows. So, DO NOT copy source package in Windows. (3)The Hi3521 has no hard floating-point unit. The library provided by the file system is a library without hard floating-points units. The tool chain uses armv5 instruction set by default, but the Hi3521 uses armv7 instruction set. Therefore, add the following commands in Makefile when compiling the code of all Hi3521 SDKs. CFLAGS += -march=armv7-a -mcpu=cortex-a9 CXXFlAGS +=-march=armv7-a -mcpu=cortex-a9 Among these, CXXFlAGS may be different according to the specific name in user's Makefile. For example, it maay be changed to CPPFLAGS.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值