我正在尝试在其中一个项目中导入我的android模块中的外部C / C ++库。该库名为android-fluidsynth。我按照this link的说明进行整合。以下是我的install TARGETS given no RUNTIME DESTINATION for executable target "fluidsynth"
的样子:
编辑2 :以下作品
CMakeLists.txt
在尝试构建它时,我收到以下错误:
if(WIN32)
install(TARGETS fluidsynth
RUNTIME DESTINATION ./)
else()
install(TARGETS fluidsynth
LIBRARY DESTINATION ./)
endif()
我已经浏览了一些SO帖子并在{{1}}中添加了以下行,但我仍然收到此错误。
{{1}}
有人可以帮忙吗?
答案 0 :(得分:1)
您不需要为 libfluidsynth 创建自己的CMakeLists.txt
。您可以将 externalNativeBuild 指向fluidsynth-android-1.1.10/android/CMakeLists.txt
。
这定义了 fluidsynth 库,您可以将其用作其他库的依赖项,例如
target_link_libraries(<mylibname> fluidsynth log)
答案 1 :(得分:0)
我在CMakeLists.txt
中发现了两个问题:
一个未成年人:set(runtime_destination)
语句无效,您可以将其删除。
另一个可能是你的构建错误:DYNAMIC
不是有效的CMake库类型,AFAIK。您应该将其更改为SHARED
。
然后,由于它是导入的目标,您需要通过添加以下内容来指定其位置:
set_target_property(TARGET ${fluidsynth-lib-name} PROPERTY IMPORTED_LOCATION path-to-libfluidsynth.so)