我在这里问,因为我在其他地方得不到任何支持。也考虑到我是一个初学者,所以要有耐心。
我正在使用 Winlibs(winlibs.com,准备使用 mingw gcc10 + 发行版)在 Windows 下编码,因为在尝试了其他替代方案后,我认为它最符合我的目的,最容易安装和最实用。
但是最近我需要编写一些简单的代码来发送 POST 请求。我想以可能可移植和 c ++ 友好的方式来做到这一点,所以建议我使用 Curl。winlibs 中不包含 libcurl,所以我试图从这里加载一个
https://curl.se/download.html我选择了 Windows 64 二进制当然(7.83.1),因为我的工作在 Windows 64 与 winlibs 64.I 安装在正确的地方,并链接对 libcurl.a.
不幸的是,链接器抱怨未解析的符号,所以我不得不假设我使用的 curl 二进制文件不合适。
我怎样才能使用 libcurl 与 winlibs 呢?在打扰这里之前,我真的谷歌了,但找不到信息!
https://winlibs.com/中的 MinGW-w64 工具只是一个构建工具链,因此它们不包含供您链接的库。
你需要一个 Windows 构建的 libcurl 和使用。
要使用它,您必须使用-I
编译器路径标志包含头文件的位置,然后通过指向.a
文件的位置与库链接-L
链接器标志,然后使用-l
链接库标志(-lcurl
在这种情况下)。
一个更简单的方法是通过 MSYS2 的pacman
包管理器获取 libcurl。如果要静态链接,则需要使用pkg-config --static --libs libcurl
的输出作为链接标志。
在实践中,虽然我注意到 sometomespkg-config --static --libs libcurl
缺少一些依赖项,您仍然需要手动添加一些。在 Windows 上使用 winlibs MinGW-w64(32 位和 64 位)构建的我的项目的示例可以在https://github.com/brechtsanders/winlibs_tools/blob/main/Makefile(特别是查找CURL_LDFLAGS
的定义)
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(46条)