由于公司业务的发展,以前的分散式配置已经无法满足要求,于是派我选型一款配置管理软件,搭建管理中心。
管理中心很快搭建起来了,运行没有问题,但是在开发工程师这里遇到了麻烦的问题,公司的java工程师仅仅会在win下开发,而qconf不支持win平台。于是就想到通过cygwin来满足需求。
在编译中,出现了一下问题,特予以记录。
1.找不到头文件 syscall.h 解决方法,直接屏蔽
2.driver/C++ 下面的代码无法编译 屏蔽掉,我这里是提供给java使用的,所以直接跳过这个问题
3.链接失败,修改 agent/CMakeFiles/qconf_agent.dir/link.txt文件
winxp系统需要添加 -lintl
修改 libzookeeper_mt.a 为 libzookeeper_mt.dll.a
4.运行 agent-cmd.sh 提示找不到 cygzookeeper_mt-2.dll
拷贝deps/zookeeper/_install/lib/cygzookeeper_mt-2.dll 到 /usr/local/qconf/bin (安装后的bin目录)
5.运行 qconf.exe get_conf demo 提示201
先运行 agent-cmd.sh ,然后检查是否开启了cygserver服务
开启cygserver服务 步骤
运行cygrunsrv-config cygserver
cygrunsrv-S cygserver