您的位置: 首页 - 行业资讯 - Ubuntu10.10安装arm版本的Qt遇到error: thread

Ubuntu10.10安装arm版本的Qt遇到error: thread

来源:行业资讯 / 时间: 2024-12-13

 Ubuntu10.10安装arm版本的Qt遇到error: thread-local storage not supported for this target
  用arm编译的时候却碰到如下错误:
  threadhread_unix.cpp:117: error: thread-local storage not supported for this target
  make[1]: *** [.obj/release-shared-emb-armhread_unix.o] 错误 1
  make[1]:正在离开目录 `/home/softenv/armc/corelib'
  make: *** [sub-corelib-make_default-ordered] 错误 2
  #
  去看了下c/corelib/thread目录下
  -rwxr--r-- 1 fsp fsp 20122 2012-03-14 22:01 qthread_unix.cpp*
  -rw-r--r-- 1 fsp fsp 18695 2012-03-14 22:01 qthread_win.cpp
  -rw-r--r-- 1 fsp fsp 2684 2012-03-14 22:01 qwaitcondition.h
  -rw-r--r-- 1 fsp fsp 6163 2012-03-14 22:01 qwaitcondition.qdoc
  -rw-r--r-- 1 fsp fsp 5730 2012-03-14 22:01 qwaitcondition_symbian.cpp
  -rw-r--r-- 1 fsp fsp 6094 2012-03-14 22:01 qwaitcondition_unix.cpp
  -rw-r--r-- 1 fsp fsp 6418 2012-03-14 22:01 qwaitcondition_win.cpp
  -rw-r--r-- 1 fsp fsp 1259 2012-03-14 22:01 thread.pri
  # vi qthread_unix.cpp
  打开文件, 发现HAVE_TLS宏打开了才会导致错误,
  关掉该宏后再编译, 果然通过了。
  于是就打了如下补丁:
  110 #define HAVE_TLS
  111 #endif
  112 #if defined(Q_CC_XLC) || defined (Q_CC_SUN)
  113 #define HAVE_TLS
  114 #endif
  115
  116 #ifdef HAVE_TLS
  117# static __thread QThreadData *currentThreadData = 0;
标签: thread ubuntu10
返回顶部