我正在学习使用KotlinNative的C互操作。我成功地使用.Def
文件导入了我的示例C程序,并在Kotlin中执行了代码
因此,我正在考虑将GTK 4库(C语言)导入Kotlin/Native项目,并在那里尝试GTK应用程序
但由于GTK 4有很多头文件和链接库,我不知道如何导入它们
我在CLion C++项目中成功地执行了GTK 4示例程序。
但是需要知道如何将GTK 4库和头文件导入Kotlin/Native项目
我Cmake in Clion项目
cmake_minimum_required(VERSION 3.24)
project(HexEditor)
set(CMAKE_CXX_STANDARD 20)
find_package(PkgConfig REQUIRED)
pkg_check_modules(GTK4 REQUIRED gtk4)
include_directories(${GTK4_INCLUDE_DIRS})
link_directories(${GTK4_LIBRARY_DIRS})
add_definitions(${GTK4_CFLAGS_OTHER})
add_executable(HexEditor main.cpp)
target_link_libraries(HexEditor ${GTK4_LIBRARIES})
如何将它们Map到Kotlin/Native的.def
文件中?
1条答案
按热度按时间pcww981p1#
我认为使用pkg-config很好,但这可能需要一些变通办法,.def文件不支持pkg-config的执行,pkg-config是一个可执行程序,因此您应该更动态地生成def文件。
generate_def.sh
这样的脚本基本上可以满足大部分需求,但我并不满意,我希望这可以集成到gradle任务中,可以使用gradle任务缓存来提高效率,对ci/cd也会更加友好。
build.gradle.kts
我写了上面的答案没有ide提示,所以你需要格外小心我可能会带来一些拼写错误,ide会帮助你