我正在尝试从JetBrains学习Kotlin Native如何使用本教程:https://kotlinlang.org/docs/tutorials/native/interop-with-c.html
但是这些教程仅适用于macOS和Linux。有时我使用Windows计算机,并且想知道它在那里的工作原理。
如何在Windows中添加libcurl库,如何将其添加到<div class="container">
<div class="item">Hello World</div>
<div class="item">Keep Learning</div>
</div>
文件中?
在任何地方都没有解释。
答案 0 :(得分:2)
我不认为它现在已被覆盖。这个想法仍然是一样的,您应该能够使它起作用。第一步是从https://curl.haxx.se/libcurl/本地下载并构建libcurl。有关如何构建它的说明和文档。我建议选择Windows自己的SSL实现。
完成构建后,您将同时具有包含和库。注意,在Windows上,您将始终有一个静态库。即使将curl生成为动态库(DLL),也将具有用于链接的生成的静态库。 DLL更易于构建和使用。真正的静态库更好,因为您在Kotlin / Native程序二进制文件中没有依赖项。到那时,教程说明应该起作用了。
答案 1 :(得分:2)
有关如何在Kotlin / Native中使用动态构建的libcurl
(又名DLL)的更详细的分步说明。
答案 2 :(得分:1)
对于Windows,如果仅需要基本的HTTP通信,则也可以尝试WinINet API,它是Windows的一部分,因此不需要依赖项。 libcurl库没有麻烦。
请参阅我的示例如何将WinInet API与Kotlin MPP一起使用:https://github.com/localazy/kotlin-mpp-wininet
对于macOS和Linux,无需手动解决libcurl的麻烦,只需使用ktor客户端即可:https://ktor.io/clients/index.html
答案 3 :(得分:0)
您需要安装MSYS2,然后在MSYS2控制台中安装libcurl:
$ pacman -S mingw-w64-x86_64-curl
答案 4 :(得分:-2)
我也在研究Kotlin,花了很多小时才意识到如何处理def文件,包含文件和静态库。
我举了一个关于如何在kotlin-native上使用静态库(带有gzip的curl和由mingw编译的SSL支持)的示例。这样,您无需将dll文件随应用程序一起提供
https://github.com/carlosrafp/Libcurl-Kotlin-Native-standalone
在libcurl.def文件上,您可以看到:
headers = curl/curl.h // path to curl header
libraryPaths = src/nativeInterop/cinterop // path to your static library
staticLibraries = libcurl.a // the static library
linkerOpts.mingw = -lws2_32 -lwldap32 // linking dependences
我基于jonnyzzz的精彩帖子: