安装
勾选组件并安装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.h
1
2
3
4
5
//TODO:for windows/cygwin
TID_T gettidv1();
tid.cpp
1
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
参数要放最后边