4

Android 是否支持 pthreads?以及为什么当我使用 -pthread 选项时会看到链接器错误:

i686-android-linux/bin/ld:找不到-lpthread

#include <pthread.h>
#include <cxxabi.h>
extern "C" int printf (const char *, ...);
int main()
{
  try
    {
      pthread_exit (0);
    }
  catch (abi::__forced_unwind &)
    {
      printf ("caught forced unwind\n");
      throw;
    }
  catch (...)
    {
      printf ("caught ...\n");
      return 1;
    }
}
4

1 回答 1

7

据我在文档中看到的,您不需要使用“-pthread”。结帐如下:http:
//mobilepearls.com/labs/native-android-api/#pthreads

来自 NDK 官方文档状态的信息 (android-ndk-r8\docs\system\libc\OVERVIEW.html):

PThread 实现:
Bionic 的 C 库附带了它自己的 pthread 实现。 与其他历史 C 库不同: - 将其放在外部库中(-lpthread) - 在动态链接时使用弱符号播放链接器技巧

因此请记住,Bionic 直接包含 pthread,而不是您习惯的标准方式(使用 -lpthread)。

于 2012-06-15T09:48:54.353 回答