安装
勾选组件并安装1
2
3
4
5
6
7
8make
cmake
gcc-core
gcc-g++
gdb
curl
mingw64
zlib

源码
https://github.com/nacos-group/nacos-sdk-cpp
cmake . 正常运行
make 在构建 tid.h 时报错
1 |
|
尝试在 tid.h 中添加 #include<windows.h> 引入windows上获取线程号的方法
发现很多全局定义冲突,例如 nb30.h中的 #define GROUP_NAME 0x80,和nacos中的GROUP_NAME冲突
Expected unqualified-id before numeric constant for defining a number
意识到是引入的范围太大,导致太多重名。
去除 tid.h 的引入,转而在实现部分 tid.cpp 中引入具体的windows方法
tid.h1
2
3
4
5
//TODO:for windows/cygwin
TID_T gettidv1();
tid.cpp1
2
3
4
5
6
//TODO:for windows/cygwin
TID_T gettidv1() {
return GetCurrentThreadId();
}
应该早点看到源码中的注释 //TODO:for windows/cygwin -_-!!!
编译
尝试删除test和example 再make,报错缺少main
c++ - 使用 cygwin 和 cmake 对 `WinMain’ 的 undefined reference
链接库的构建需要test包下的main,运行后获得动态、静态库、测试执行文件
libnacos-cli.dll.a
libnacos-cli-static.a
nacos-cli.out.exe
本地启动nacos服务,nacos-cli.out.exe可正常测试通过
从 example/getConfig.cpp copy 一份至根目录,修改配置
执行命令编译1
2g++ -I/usr/local/include/nacos/ getConfig.cpp libnacos-cli.dll.a -o getConfig.exe
g++ -I/usr/local/include/nacos/ getConfig.cpp libnacos-cli-static.a -o getConfig.exe -lcurl -lz -L.
和 README 提示给的命令有些不一样,命令的 -l 参数要放最后边