Android NDK.Build命令失败。未定义参考。clang ++:错误:链接器命令失败,退出代码为1

CodeWithVikas

当我尝试使用add_library(mycpp-lib ...)创建单独的库时出现此错误add_library(native-lib ...)当我使用single构建时add_library(),我没有得到错误。

注意:两个库(libmycpp-lib.so和libnative-lib.so)均已成功生成。

这是我得到的错误:

Build command failed.
Error while executing process /Users/vk/Library/Android/sdk/cmake/3.10.2.4988404/bin/ninja with arguments {-C /Users/vk/Development/MyNativeApp1/app/.cxx/cmake/debug/arm64-v8a mycpp-lib native-lib}
ninja: Entering directory `/Users/vk/Development/MyNativeApp1/app/.cxx/cmake/debug/arm64-v8a'
[1/2] Building CXX object CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o
[2/2] Linking CXX shared library ../../../../build/intermediates/cmake/debug/obj/arm64-v8a/libnative-lib.so
FAILED: ../../../../build/intermediates/cmake/debug/obj/arm64-v8a/libnative-lib.so 
: && /Users/vk/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ --target=aarch64-none-linux-android21 --gcc-toolchain=/Users/vk/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64 --sysroot=/Users/vk/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -Wa,--noexecstack -Wformat -Werror=format-security   -O0 -fno-limit-debug-info  -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -static-libstdc++ -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Qunused-arguments -Wl,-z,noexecstack -shared -Wl,-soname,libnative-lib.so -o ../../../../build/intermediates/cmake/debug/obj/arm64-v8a/libnative-lib.so CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o  -llog -latomic -lm && :
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o: In function `Java_vikas_example_com_mynativeapp1_MainActivity_stringFromJNI':
/Users/vk/Development/MyNativeApp1/app/.cxx/cmake/debug/arm64-v8a/../../../../src/main/cpp/native-lib.cpp:14: undefined reference to `addtwo(int, int)'
/Users/vk/Development/MyNativeApp1/app/.cxx/cmake/debug/arm64-v8a/../../../../src/main/cpp/native-lib.cpp:16: undefined reference to `array_pointer(int*, int)'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

这是我的CMakeLists.txt:

cmake_minimum_required(VERSION 3.4.1)
set(CMAKE_VERBOSE_MAKEFILE on)

aux_source_directory(src/main/cpp/cpp_basic/airthmatic CPP_SRC)
aux_source_directory(src/main/cpp/cpp_basic CPP_BASIC_SRC)

include_directories(src/main/cpp/cpp_basic/airthmatic)
include_directories(src/main/cpp/cpp_basic)

add_library( # Sets the name of the library.
        native-lib

        # Sets the library as a shared library.
        SHARED

        # Provides a relative path to your source file(s).
        src/main/cpp/native-lib.cpp
        )

find_library( # Sets the name of the path variable.
        log-lib

        # Specifies the name of the NDK library that
        # you want CMake to locate.
        log)

add_library(mycpp-lib

            SHARED

        ${CPP_SRC}
        ${CPP_BASIC_SRC})


target_link_libraries( # Specifies the target library.
        native-lib


        ${mycpp-lib}

        ${log-lib}

        )
九柱游戏

mycpp-lib目标名称是不与所定义的可变的set()命令,所以用扩展它${mycpp-lib}的产率是空字符串。使用时target_link_libraries(),您可以在链接先前定义的目标时简单地输入目标名称(不带${}):

target_link_libraries( # Specifies the target library.
        native-lib
        mycpp-lib
        ${log-lib}
        )

请注意,因为log-lib确实需要${}扩展find_library()调用定义的缓存变量

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android NDK项目中的未定义参考错误

来自分类Dev

Swift:错误:链接器命令失败,退出代码为1

来自分类Dev

Android NDK:未定义的参考

来自分类Dev

未定义的引用..链接器命令失败,退出代码为1

来自分类Dev

为什么会出现clang:错误:链接器命令失败,退出代码为1?

来自分类Dev

clang-7:错误:macOS Big Sur的链接器命令失败,退出代码为1

来自分类Dev

clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)Xcode 10.2.1

来自分类Dev

编译项目时出现未定义的参考错误(ANDROID NDK)

来自分类Dev

链接器命令失败,退出代码为1

来自分类Dev

C:链接器命令失败,退出代码为1

来自分类Dev

Xcode 6:链接器命令失败,退出代码为1

来自分类Dev

链接器命令失败,退出代码为1(重复的符号)

来自分类Dev

Xcode链接器命令失败,退出代码为1 c ++

来自分类Dev

Xcode 6:链接器命令失败,退出代码为1

来自分类Dev

链接器命令失败,退出代码为1-Xcode

来自分类Dev

C:链接器命令失败,退出代码为1

来自分类Dev

链接器命令失败,退出代码为1

来自分类Dev

Android NDK-build中的libpcap静态链接错误(对pcap API的未定义引用)

来自分类Dev

MySQL C ++连接器错误:链接器命令失败,退出代码为1

来自分类Dev

链接器命令失败,出现退出代码1错误

来自分类Dev

Cocoapods错误:链接器命令失败,退出代码为1(使用-v查看调用)

来自分类Dev

编译错误:链接器命令失败,退出代码为1

来自分类Dev

链接器命令失败,退出代码为1,框架和库错误

来自分类Dev

Xcode铛:错误:链接器命令失败,退出代码为1(用于创建的UNITY)

来自分类Dev

错误链接器命令失败,退出代码为1(使用-v查看调用)

来自分类Dev

添加GoogleMaps pod时,iOS“链接器命令失败,退出代码为1”错误

来自分类Dev

Objective-C铛:错误:链接器命令失败,退出代码为1

来自分类Dev

错误:链接器命令失败,退出代码为1(使用-v查看调用)

来自分类Dev

叮当:错误:链接器命令失败,项目中的退出代码为1(使用-v查看调用)

Related 相关文章

  1. 1

    Android NDK项目中的未定义参考错误

  2. 2

    Swift:错误:链接器命令失败,退出代码为1

  3. 3

    Android NDK:未定义的参考

  4. 4

    未定义的引用..链接器命令失败,退出代码为1

  5. 5

    为什么会出现clang:错误:链接器命令失败,退出代码为1?

  6. 6

    clang-7:错误:macOS Big Sur的链接器命令失败,退出代码为1

  7. 7

    clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)Xcode 10.2.1

  8. 8

    编译项目时出现未定义的参考错误(ANDROID NDK)

  9. 9

    链接器命令失败,退出代码为1

  10. 10

    C:链接器命令失败,退出代码为1

  11. 11

    Xcode 6:链接器命令失败,退出代码为1

  12. 12

    链接器命令失败,退出代码为1(重复的符号)

  13. 13

    Xcode链接器命令失败,退出代码为1 c ++

  14. 14

    Xcode 6:链接器命令失败,退出代码为1

  15. 15

    链接器命令失败,退出代码为1-Xcode

  16. 16

    C:链接器命令失败,退出代码为1

  17. 17

    链接器命令失败,退出代码为1

  18. 18

    Android NDK-build中的libpcap静态链接错误(对pcap API的未定义引用)

  19. 19

    MySQL C ++连接器错误:链接器命令失败,退出代码为1

  20. 20

    链接器命令失败,出现退出代码1错误

  21. 21

    Cocoapods错误:链接器命令失败,退出代码为1(使用-v查看调用)

  22. 22

    编译错误:链接器命令失败,退出代码为1

  23. 23

    链接器命令失败,退出代码为1,框架和库错误

  24. 24

    Xcode铛:错误:链接器命令失败,退出代码为1(用于创建的UNITY)

  25. 25

    错误链接器命令失败,退出代码为1(使用-v查看调用)

  26. 26

    添加GoogleMaps pod时,iOS“链接器命令失败,退出代码为1”错误

  27. 27

    Objective-C铛:错误:链接器命令失败,退出代码为1

  28. 28

    错误:链接器命令失败,退出代码为1(使用-v查看调用)

  29. 29

    叮当:错误:链接器命令失败,项目中的退出代码为1(使用-v查看调用)

热门标签

归档