gpt4 book ai didi

android - 缺少 sync_val_compare_and_swap_1

转载 作者:行者123 更新时间:2023-11-30 05:12:52 35 4
gpt4 key购买 nike

我有一个独立的工具链 NDK13b、api19、llvm 3.8 编译器、arm 32 位、带有 libcpp(llvm C++ 库)

我想避免依赖 libgcc,所以我构建了 compiler-rt。我能找到的最好版本(给我留下最少 undefined symbol 的版本)来自 https://android.googlesource.com/platform/external/compiler-rt/

在我的链接行中我有:

-nodefaultlibs

避免链接到 libgcc,并且:

-lc++_static -lc++abi -lunwind -latomic -ldl -lm -lc -landroid -landroid_support -lclang_rt.builtins-arm -latomic

链接到所有标准库。

当我尝试链接我的程序时,我得到以下 undefined reference :

/usr/local/google/buildbot/src/android/ndk-r13-release/external/libcxx/src/algorithm.cpp:83: error: undefined reference to '__sync_val_compare_and_swap_1' /usr/local/google/buildbot/src/android/ndk-r13-release/external/libcxx/src/ios.cpp:74: error: undefined reference to '__sync_val_compare_and_swap_1' /usr/local/google/buildbot/src/android/ndk-r13-release/external/libcxx/src/locale.cpp:53: error: undefined reference to '__sync_val_compare_and_swap_1' /usr/local/google/buildbot/src/android/ndk-r13-release/external/libcxx/src/locale.cpp:464: error: undefined reference to '__sync_val_compare_and_swap_1'

有什么办法可以避免这种情况,例如通过自己定义函数,或者链接一个额外的库?

当我尝试使用来自 here 的代码时(这实际上是用于没有 _1sync_val_compare_and_swap),我得到:

../lib/builtins/sync_val_compare_and_swap_1.c ../lib/builtins/sync_val_compare_and_swap_1.c:6:16: error: conflicting types for '__sync_val_compare_and_swap_1' inline int32_t __sync_val_compare_and_swap_1(volatile int32_t* ptr, int32_t oldval, int32_t newval)

          ^

../lib/builtins/sync_val_compare_and_swap_1.c:6:16: note: '__sync_val_compare_and_swap_1' is a builtin with type 'char (volatile char *, char, char, ...)'

最佳答案

问题是我正在链接

中的库
link_directories("${COMPILER_PATH}/../arm-linux-androideabi/lib")

有效地存在各种 libatomic.a、libstdc++.a 等。但正确的版本显然在子文件夹 armv7-a 中,所以它应该是:

link_directories("${COMPILER_PATH}/../arm-linux-androideabi/lib/armv7-a")

关于android - 缺少 sync_val_compare_and_swap_1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44306175/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com