CMake Error at CMakeLists.txt:10 (set_property): set_property could not find TARGET Java_jni_demo. Perhaps it has not yet been created.
时间: 2024-03-15 17:47:35 浏览: 14
这个错误通常是由于在调用 set_property 命令时,指定的目标名称不存在导致的。可能的原因是,你在调用 set_property 命令之前没有创建 Java_jni_demo 目标。
为了解决这个问题,你需要确保在调用 set_property 命令之前,Java_jni_demo 目标已经被创建。在 CMakeLists.txt 文件中,你可以使用 add_library 命令来创建 JNI 库的目标。
以下是一个简单的示例:
```
# 添加 JNI 库
add_library(Java_jni_demo SHARED jni_demo.c)
# 设置 JNI 库的链接语言为 C
set_property(TARGET Java_jni_demo PROPERTY LINKER_LANGUAGE C)
# 链接 JNI 库
target_link_libraries(Java_jni_demo ${JAVA_JVM_LIBRARY})
```
在这个示例中,add_library 命令用于创建 Java_jni_demo 目标,并将 jni_demo.c 源文件添加到目标中。set_property 命令用于设置 Java_jni_demo 目标的 LINKER_LANGUAGE 属性。最后,target_link_libraries 命令用于将 JNI 库链接到 JVM 库。
请确保在调用 set_property 命令之前,Java_jni_demo 目标已经被创建。如果你仍然遇到问题,请检查目标名称是否正确拼写,并确认目标已经正确创建。
希望这可以帮到你解决问题。