当前位置: 首页 > news >正文

网页制作与网站建设宝典 pdf东莞网站建设分享seo

网页制作与网站建设宝典 pdf,东莞网站建设分享seo,最好的app制作公司,网站建设.c文章目录 一、准备Cygwin环境二、下载Redis源码三、编译redis-7.2.01. 执行make命令2. 重新执行make命令3. 再次执行make命令4. 将编译后的可执行文件及依赖放到同一个文件夹5. 测试编译生成的可执行程序 四、换其他redis版本重新编译1. 编译redis-7.0.122. 编译redis-6.2.133.… 文章目录 一、准备Cygwin环境二、下载Redis源码三、编译redis-7.2.01. 执行make命令2. 重新执行make命令3. 再次执行make命令4. 将编译后的可执行文件及依赖放到同一个文件夹5. 测试编译生成的可执行程序 四、换其他redis版本重新编译1. 编译redis-7.0.122. 编译redis-6.2.133. 编译redis-7.2.rc3、redis-7.2-rc2 五、总结 如果你不想那么麻烦自己编译redis你可参考我的另一篇文章 Windows 下 Redis 安装与配置 教程 接下来演示如何使用Cygwin工具编译redis源码生成适用于Windows的Redis其中包含编译过程中遇到的问题及解决方案 先说结论 redis-7.2.0编译后生成的redis-server不可用 redis-7.0.12、redis-6.2.13 编译后生成的redis-cli、redis-server 经测试均可用 一、准备Cygwin环境 Cygwin安装这里就不介绍了请参考 Cygwin 介绍与安装 Cygwin 配置C/C编译环境以及如何编译项目 我本地Cygwin安装的软件包如下其中 make、gcc-core、gcc-g、pkg-config、tcl 建议这几个都装上。 找到Cygwin安装目录下的usr\include\dlfcn.h文件修改如下代码将#if __GNU_VISIBLE、#endif 这两行注释掉。使用// 或 /* 被注释代码*/ 方式进行注释 //#if __GNU_VISIBLE typedef struct Dl_info Dl_info;struct Dl_info {char dli_fname[PATH_MAX]; /* Filename of defining object */void *dli_fbase; /* Load address of that object */const char *dli_sname; /* Name of nearest lower symbol */void *dli_saddr; /* Exact value of nearest symbol */ };extern int dladdr (const void *addr, Dl_info *info); //#endif二、下载Redis源码 redis源码下载地址redis/redis/releases 如果访问Github较慢提供如下解决方案 作为程序员不得不知道的几款Github加速神器 三、编译redis-7.2.0 先编译一个目前的最新版本试试水 1. 执行make命令 在redis-7.2.0项目根目录执行make命令 比如我redis解压后的地址 d:/test/redis-7.2.0 AdministratorGC ~ $ cd d:/test/redis-7.2.0AdministratorGC /cygdrive/d/test/redis-7.2.0 $ make当然一般没那么顺利看报错 MAKE hiredis cd hiredis make static make[3]: Entering directory /cygdrive/d/test/redis-7.2.0/deps/hiredis cc -stdc99 -c -O3 -fPIC -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic alloc.c cc -stdc99 -c -O3 -fPIC -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic net.c cc -stdc99 -c -O3 -fPIC -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic hiredis.c cc -stdc99 -c -O3 -fPIC -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic sds.c In file included from sds.c:37: sds.c: In function ‘hi_sdscatrepr’: sds.c:889:25: error: array subscript has type ‘char’ [-Werrorchar-subscripts]889 | if (isprint(*p))| ^~ cc1: all warnings being treated as errors make[3]: *** [Makefile:270: sds.o] Error 1 make[3]: Leaving directory /cygdrive/d/test/redis-7.2.0/deps/hiredis make[2]: *** [Makefile:55: hiredis] Error 2 make[2]: Leaving directory /cygdrive/d/test/redis-7.2.0/deps make[1]: [Makefile:384: persist-settings] Error 2 (ignored) 解决方案 方案1修改hiredis的Makefile WARNINGS-Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers找到这行代码42行删掉-Werror 方案2修改sds.c文件 default:if (isprint((int)*p))s hi_sdscatprintf(s,%c,*p);elses hi_sdscatprintf(s,\\x%02x,(unsigned char)*p);break;}找到889行报错的那行sds.c:889:25: error: array subscript has type ‘char’ [-Werrorchar-subscripts] 将if (isprint(*p))改为if (isprint((int)*p))做一个强制转换。 2. 重新执行make命令 make clean make重新编译之前先执行一下make clean 还是没那么顺利看报错 LINK redis-server /usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: cannot find ../deps/hiredis/libhiredis.a: No such file or directory /usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: cannot find ../deps/lua/src/liblua.a: No such file or directory /usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: cannot find ../deps/hdr_histogram/libhdrhistogram.a: No such file or directory /usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: cannot find ../deps/fpconv/libfpconv.a: No such file or directory collect2: error: ld returned 1 exit status make[1]: *** [Makefile:403: redis-server] Error 1 make[1]: Leaving directory /cygdrive/d/test/redis-7.2.0/src make: *** [Makefile:6: all] Error 2解决方案 cd deps make hiredis lua hdr_histogram fpconv jemalloc linenoise进入到deps目录对deps下报错的子项目进行单独编译。 如果没有再报错则继续往下我这里没有再次报错了忽略Warning信息 3. 再次执行make命令 cd .. make回到redis项目根目录再次执行make命令 AdministratorGC /cygdrive/d/test/redis-7.2.0/deps $ cd .. make cd src make all make[1]: Entering directory /cygdrive/d/test/redis-7.2.0/srcLINK redis-cli lto-wrapper: warning: using serial compilation of 3 LTRANS jobsCC redis-benchmark.oLINK redis-benchmarkINSTALL redis-check-rdbINSTALL redis-check-aofHint: Its a good idea to run make test ;)make[1]: Leaving directory /cygdrive/d/test/redis-7.2.0/src然后成功了很开心。 4. 将编译后的可执行文件及依赖放到同一个文件夹 AdministratorGC /cygdrive/d/test/redis-7.2.0 $ mkdir binAdministratorGC /cygdrive/d/test/redis-7.2.0 $ mv src/*.exe binAdministratorGC /cygdrive/d/test/redis-7.2.0 $ cp *.conf binAdministratorGC /cygdrive/d/test/redis-7.2.0 $ cp /usr/bin/cygwin1.dll bin将src目录下编译生成的*.exe可执行程序源码根目录下的redis.conf、sentinel.conf等以及依赖的Cygwin安装目录下的bin目录下的cygwin1.dll都放到同一个文件夹下。 如下所示 5. 测试编译生成的可执行程序 打开一个cmd窗口切换到上述发布redis的目录下然后执行redis-server命令 兄弟们我很难过呀报错啦~ redis-server没有启动成功生成一个redis-server.exe.stackdump文件。 我不懂这个呀有懂得兄弟可以给我科普下。 再测试下redis-cli 看起来 redis-cli 是可以正常使用的。 四、换其他redis版本重新编译 1. 编译redis-7.0.12 鉴于我不甘心我换了个redis-7.0.12版本重新编译下看看。 编译步骤我就不重复了直接说结果。 项目下载下来后没有修改redis项目的任何代码直接在根目录下执行make命令一次成功 启动 redis-server 使用redis-cli连接redis 讲真你能说官方发布的redis-7.2.0有问题吗不能够吧毕竟那么大个项目那么多人在维护和测试。只能说这个版本可能在Windows环境下编译有问题。 注意我说的是可能也许其他人能成功呢要勇于尝试。 2. 编译redis-6.2.13 然后我又尝试了 redis-6.2.13 版本也是一次成功并且redis-server、redis-cli 都可正常执行。 3. 编译redis-7.2.rc3、redis-7.2-rc2 我还尝试了 redis-7.2-rc3、redis-7.2-rc2 也能编译成功但同redis-7.2.0 一样redis-server启动时报错。 五、总结 如上尝试了多个redis版本编译。结果总结如下 redis-7.2各版本可成功编译但编译生成的可执行文件中redis-server.exe 执行时报错不可用redis-7.0.12版本可成功编译且redis-cli、redis-server均可正常使用redis-6.2.13版本可成功编译且redis-cli、redis-server均可正常使用
http://www.w-s-a.com/news/938104/

相关文章:

  • 百度推广 帮做网站吗怎样修改网站的主页内容
  • 网站怎么做dns解析公司官网改版方案
  • 湛江市住房和城乡建设局网站杭州网站公司哪家服务好
  • 设计网站公司湖南岚鸿设计镜像的网站怎么做排名
  • 你注册过哪些网站微信app下载安装官方版2019
  • 杭州滨江的网站建设公司人才招聘网网站策划方案
  • 门户网站是指提供什么的网站网站优化需要工具
  • 和小男生做的网站代理公司注册步骤
  • 天猫网站建设的目标是什么seo有些什么关键词
  • 网站前端建设都需要什么莱芜信息港网页
  • 如何做360网站优化网站建设培训教程新手入门到精通
  • 做网站有的浏览器怎么做网站网站赚钱
  • 织梦 做网站 教程百度登录个人中心官网
  • ftp怎么修改网站wordpress分享积分
  • 营销策划方案的步骤西安关键词优化软件
  • 南宁自己的网站移动互联网技术学什么
  • 2017湖北建设教育协会网站自己接单做网站
  • 定制网站建设制作h5网站要多久
  • 泰安中呼网站建设有限公司 概况个人网站的设计与实现参考文献
  • 圣诞节网站怎么做怎么获取网站的图片
  • 想找个人做网站音乐网站建设教程视频教程
  • 网站收录一键提交阿里巴巴做网站多少钱
  • 怎么做网站投放广告商务网站建设实训报告
  • 服装代销的网站源码国内电子商务网站有哪些
  • qq空间怎么做网站做企业平台的网站有哪些
  • 网站的优缺点wordpress手机适配模板中文
  • 福州网站建设H5广告公司简介简短
  • 网站404页面的作用app开发郑州
  • 亚马逊中国网站建设目标网站建设的策划
  • 林州网站建设服务徐州网站建设