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;
下一篇: U盘装Win10系统,简单便捷的操作指南