Kotlin / Native如何使用仅标头的C / C ++库

时间:2019-10-04 23:30:37

标签: kotlin kotlin-native

所以我试图在我的Kotlin / Native项目中使用stb_image,但是在尝试将其包含在我的项目中时遇到了麻烦。它只是一个标头库,konan似乎仍然希望有一个已编译的目标文件,所以我想知道是否有任何方法可以生成cstub,然后使用标头进行链接,除非我必须编译基本的翻译文件,因为stb_image只需要您有一个定义STB_IMAGE_IMPLEMENTATION的翻译单元,但是我在自己的editorOpts -GSTB_IMAGE_IMPLEMENTATION中有定义。仅仅编译一个翻译单元,创建静态对象,然后针对它进行链接会更容易,还是K / N对我有某种解决方法?

我正在使用Gradle Multiplatform,所以如果有一些我可以运行的gradle脚本,请告诉我。

2 个答案:

答案 0 :(得分:0)

我建议实际上创建一个翻译文件,但这不是必需的。 完成后,您只需给头文件加上编译器选项即可,应该可以。

您可以参考this作为参考。我有空的时候在做包装纸。

答案 1 :(得分:0)

我的-GSTB_IMAGE_IMPLEMENTATION应该是-DSTB_IMAGE_IMPLEMENTATION,我需要将-I开关放在compilerOpts而不是linkerOpts中。