当前位置: 首页 > 工具软件 > Drogon > 使用案例 >

Windows下drogon编译

宦兴朝
2023-12-01

在windows下编译drogon,主要是解决依赖库的问题,又分为两个方面:

  1. cmake查找依赖库
  2. 编译过程中运行部分命令需要依赖库

cmake查找依赖库

在Windows下,库通常不会安装在默认目录(C:/Program Files/xxx)下,要想cmake找到这些依赖库需要做一些配置:

  • zlib:对于zlib,需要设置ZLIB_ROOT环境变量,指向zlib的安装目录,而这环境变量需要cmake-3.12以上版本,且有些版本(我这里用的是cmake-3.24)下默认不会生效,需要修改CMakeLists.txt,打开相关的策略才能生效,至于低版本中如何设置我没有研究。要打开此策略,在CMakeLists.txt中cmake_minimum_required(VERSION 3.5)下面加入以下内容:
    if (POLICY CMP0074)
    	cmake_policy(SET CMP0074 NEW)
    endif()
    
    注意:有两个CMakeLists.txt文件需要修改,根目录下和trantor子目录下。
  • openssl: 需要设置OPENSSL_ROOT_DIR环境变量,指向openssl的安装目录
  • jsoncpp: 需要设置Jsoncpp_ROOT环境变量,指向jsoncpp的安装目录

至此几个必要的库就设置好了,如果需要其他库,如何设置环境变量可以参考cmake的各个模块查找文件FindXXX.cmake内容和文档

编译过程中运行部分命令需要依赖库

设置好后进行cmake生成VC工程文件,编译时会报错,分析后发现是因为编译过程中会调用编译生成的一些命令,而这些命令依赖于前面提到的各个库的动态库,找不到这些库命令无法运行所以报错,简单将各动态库所在目录加入PATH环境变量即可解决。

 类似资料: