【发布时间】:2014-10-27 11:11:14
【问题描述】:
我正在尝试在我的 windows c++ 应用程序中使用 curl,但一直遇到问题。
我在 Windows 8.1 机器上使用 Visual Studio 2013。
这是我到目前为止所做的:
- 克隆了repo from github
- 构建 libcurl 项目,生成三个文件:libcurl.dll、libcurl_imp.lib 和 libcurl_imp.exp
- 在我的应用项目中,我将 curl 包含目录添加到了附加包含目录中
- 将 libcurl_imp.lib 添加到附加依赖项中
- 构建我的项目
当我运行我的可执行文件时,它会说:
the program can't start because libcurl.dll is missing from your computer
我在上面找到了一些东西,但他们通过添加 libcurl dll 和 exe 解决了这个问题,这不是我想要的,因为我希望我的可执行文件包含 libcurl 以便它可以运行无需 dll 的机器。
有什么想法吗?
谢谢。
编辑
第二步非常简单,我只需右键单击项目 (libcurl) 并选择构建。
由于 cmets 我在将配置类型更改为静态库后对其进行了重建,所以现在它只生成一个文件:libcurl.dll,据我所知,它不是静态库...
第二次编辑
我在获取 http 功能上浪费了太多时间,并且基于我通过此处的评论 (using libcurl without dll) 找到的信息,我决定放弃这种方法,并且我找到了完全适合我需要的东西,并且易于安装/使用:C++ REST SDK (codename "Casablanca")
【问题讨论】:
-
没有 dll 意味着您需要静态构建,但现在看来并非如此。您不知道您是如何完成第 2 步的,但 winbuild/makefile.vc 中的第一行是
!IF "$(MODE)"=="static"所以我猜您必须在构建系统中将 MODE 设置为 static。 -
你需要将 cURL 构建为静态库
-
我没有文件名
makefile.vc,只有 cmake 制作文件。我编辑了我如何构建 libcurl 的问题。谢谢。
标签: c++ curl visual-studio-2013 libcurl