首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有找到cmake错误libcurl,但是安装了libcurl4。

没有找到cmake错误libcurl,但是安装了libcurl4。
EN

Stack Overflow用户
提问于 2021-04-09 09:37:27
回答 2查看 643关注 0票数 0

我正在尝试从开源游戏trying编译Spring大厅版本268客户端。但是,最新版本(271)编译得很好。但是,当我试图编译268版本时,我会得到CMake错误:

代码语言:javascript
复制
CMake Error at /usr/share/cmake-3.18/Modules/FindCURL.cmake:163 (message):
  CURL: Required feature libcurl is not found
Call Stack (most recent call first):
  src/CMakeLists.txt:127 (FIND_PACKAGE)

我正在Debian测试上编译,并尝试了库libcurl4-openssl-devlibcurl-gnutls-devlibcurl4-nss-dev,但都没有成功。

游戏:https://springrts.com

大堂0.271:https://github.com/springlobby/springlobby

大堂0.268:https://github.com/springlobby/springlobby/tree/0.268

从源安装:https://github.com/springlobby/springlobby/wiki/Installfromsource

用git回购建造大厅:

代码语言:javascript
复制
git clone --recursive https://github.com/springlobby/springlobby.git
cd springlobby
cmake .
make
make install

Spring大厅版本271使用libcurl4-openssl-dev,但268版似乎链接到了一个较旧的libcurl。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-09 10:01:47

268版本错误地调用了find_package (src/CMakeLists.txt:127):

代码语言:javascript
复制
FIND_PACKAGE( CURL REQUIRED libcurl )

将最后一个参数libcurl (根据包装文件)解释为COMPONENTS列表的元素,如果是FindCURL.cmake,则将其视为协议/特性规范。显然,libcurl既不意味着协议也不意味着特性。

提交https://github.com/springlobby/springlobby/commit/252c4cb156c1442ed9b4faec3f26265bc7c295ff修复此调用

代码语言:javascript
复制
FIND_PACKAGE(CURL REQUIRED)
票数 1
EN

Stack Overflow用户

发布于 2021-04-09 15:41:05

Springlobby 0.268支持老的大厅服务器,上面有大多数玩家,也支持更新的服务器。

因此,如果您想编译和使用老版本的0.268 So大厅,您必须像我已经写过的那样克隆当前版本,然后再通过以下方式选择旧版本:

代码语言:javascript
复制
git checkout 0.268

src/CMakeLists.txt第127行中应用Tsyvarev发布的补丁。但你也必须加上:

代码语言:javascript
复制
#include <string>

对于下面的文件src/battlelist.hsrc/utils/sortutil.h,这些文件顶部的包含。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67018666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档