Target “xxx“ links to target “Iconv::Iconv“

在用NDK编译库的时候有时候会出现下面这个问题:

-- Configuring done
CMake Error at CMakeLists.txt:87 (add_executable):
  Target "XXX" links to target "Iconv::Iconv" but the target was not
  found.  Perhaps a find_package() call is missing for an IMPORTED target, or
  an ALIAS target is missing?


CMake Error at CMakeLists.txt:98 (add_executable):
  Target "test_cls" links to target "Iconv::Iconv" but the target was not
  found.  Perhaps a find_package() call is missing for an IMPORTED target, or
  an ALIAS target is missing?

之前碰到一次,解决了现在又碰到一次,记录一下。
iconv是一个用于字符编码转换的库,它可以在不同的字符编码之间转换文本。例如,你可以使用iconv将UTF-8编码的文本转换为ISO-8859-1编码。
加入find_package(Iconv)就ok了。

find_package(Iconv)
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Android")
   
    add_definitions(-DNDK_ANDROID_LOG)
    
    set(OpenCV_DIR "/media/xp/data/3rd_party_lib/opencv/4.8.1/arm64-v8a/sdk/native/jni/abi-arm64-v8a/")
    find_package(OpenCV  REQUIRED)
    include_directories(${OpenCV_INCLUDE_DIRS})
    include_directories(${CMAKE_CURRENT_LIST_DIR}/tnn_android/include)
    
    set(yaml-cpp_DIR "/home/xp/3rd_party/yaml-cpp/ndk_build/install/lib/cmake/yaml-cpp")
    find_package(yaml-cpp REQUIRED)
    list(APPEND DEP_LIBS ${YAML_CPP_LIBRARIES})

    list(APPEND DEP_LIBS ${CMAKE_CURRENT_LIST_DIR}/tnn_android/arm64-v8a/libTNN.so ${OpenCV_LIBS})
    message(STATUS "OPENCV_LIBS: ${OpenCV_LIBS}")

    set(android_log /media/xp/data/3rd_party/25.2.9519653/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/29/liblog.so)
    list(APPEND DEP_LIBS ${android_log})
    find_package(Iconv)
    message(STATUS "Iconv_LIBRARIES: ${Iconv_LIBRARIES}")
    message(STATUS "Iconv_INCLUDE_DIR: ${Iconv_INCLUDE_DIR}")
    list(APPEND DEP_LIBS ${Iconv_LIBRARIES})
    
endif()

编译输出


-- The C compiler identification is Clang 14.0.7
-- The CXX compiler identification is Clang 14.0.7
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /media/xp/data/3rd_party/25.2.9519653/toolchains/llvm/prebuilt/linux-x86_64/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /media/xp/data/3rd_party/25.2.9519653/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenCV: /media/xp/data/3rd_party_lib/opencv/4.8.1/arm64-v8a (found version "4.8.1") 
-- OPENCV_LIBS: opencv_calib3d;opencv_core;opencv_dnn;opencv_features2d;opencv_flann;opencv_gapi;opencv_highgui;opencv_imgcodecs;opencv_imgproc;opencv_ml;opencv_objdetect;opencv_photo;opencv_stitching;opencv_video;opencv_videoio;opencv_aruco;opencv_bgsegm;opencv_bioinspired;opencv_ccalib;opencv_datasets;opencv_dnn_objdetect;opencv_dnn_superres;opencv_dpm;opencv_face;opencv_fuzzy;opencv_hfs;opencv_img_hash;opencv_intensity_transform;opencv_line_descriptor;opencv_mcc;opencv_optflow;opencv_phase_unwrapping;opencv_plot;opencv_quality;opencv_rapid;opencv_reg;opencv_rgbd;opencv_saliency;opencv_shape;opencv_stereo;opencv_structured_light;opencv_superres;opencv_surface_matching;opencv_text;opencv_tracking;opencv_videostab;opencv_wechat_qrcode;opencv_xfeatures2d;opencv_ximgproc;opencv_xobjdetect;opencv_xphoto
-- Performing Test Iconv_IS_BUILT_IN
-- Performing Test Iconv_IS_BUILT_IN - Success
-- Found Iconv: built in to C library  
-- Iconv_LIBRARIES: 
-- Iconv_INCLUDE_DIR: 
-- Configuring done
-- Generating done
-- Build files have been written to: /media/xp/data/proj/XXX/deploy/XXX_deploy/ndk_build
[ 12%] Building CXX object CMakeFiles/XXX_tnn.dir/main.cpp.o
[ 50%] Building CXX object CMakeFiles/XXX_tnn.dir/src/person_cls.cpp.o
[ 75%] Building CXX object CMakeFiles/test_cls.dir/test_cls.cpp.o
[ 75%] Building CXX object CMakeFiles/XXX_tnn.dir/src/XXX_tnn.cpp.o
[ 75%] Building CXX object CMakeFiles/test_cls.dir/src/person_cls.cpp.o
[ 75%] Building CXX object CMakeFiles/XXX_tnn.dir/src/camera_CMEI.cpp.o
[ 87%] Linking CXX executable test_cls
[ 87%] Built target test_cls
[100%] Linking CXX executable XXX_tnn
[100%] Built target XXX_tnn
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值