synergy无法编译-对`pthread_xxxx的未定义引用 [英] synergy won't compile -- undefined reference to `pthread_xxxx

查看:493
本文介绍了synergy无法编译-对`pthread_xxxx的未定义引用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

遵循 Synergy的构建说明时,我得到以下信息错误。



是否已经开发出解决方案来构建Synergy?

如果没有,我如何获得Synergy可以在Ubuntu 13.10上编译?

  ../../../../../ lib / libarch.a (CArchMultithreadPosix.o):在函数 CArchMultithreadPosix :: newMutex()中:
CArchMultithreadPosix.cpp :(。text + 0x319):未定义对 pthread_mutexattr_init的引用
../../ .. /../../lib/libarch.a(CArchMultithreadPosix.o):在函数`CArchMultithreadPosix :: raiseSignal(IArchMultithread :: ESignal)'中:
CArchMultithreadPosix.cpp :(。text + 0x43b):未定义引用到'pthread_kill'
../../../../../lib/libarch.a(CArchMultithreadPosix.o):在函数`CArchMultithreadPosix :: threadSignalHandler(void *)'中:
CArchMultithreadPosix.cpp :(。text + 0x490):对'pthread_detach'的未定义引用
../../../../../lib/libarch.a(CArchMultithreadPosix.o):在函数中`CArchMultithreadPosix :: closeThread(CArchThreadImpl *)':
CArchMultithreadPosix.cpp :(。text + 0x62b):und定义对'pthread_detach'
../../../../../lib/libarch.a(CArchMultithreadPosix.o)的引用:在函数`CArchMultithreadPosix :: newThread(void *(*)( void *),void *)':
CArchMultithreadPosix.cpp :(。text + 0x8e6):对'pthread_sigmask'的未定义引用
CArchMultithreadPosix.cpp :(。text + 0x90f):对'pthread_sigmask的未定义引用'
CArchMultithreadPosix.cpp :(。text + 0x935):对'pthread_create'的未定义引用
CArchMultithreadPosix.cpp :(。text + 0x9a4):对'pthread_create'的未定义引用
../ ../../../../lib/libarch.a(CArchMultithreadPosix.o):在函数`CArchMultithreadPosix :: CArchMultithreadPosix()'中:
CArchMultithreadPosix.cpp :(。text + 0xe11):未定义对'pthread_mutexattr_init'的引用
CArchMultithreadPosix.cpp :(。text + 0xf05):对'pthread_sigmask'的引用未定义
CArchMultithreadPosix.cpp :(。text + 0xf26):对'pthread_sigmask'的未定义引用
b ../../../../../lib/libarch.a(CArchMultithreadPosix.o):在函数`CArchMultithreadPosix中:: startSignalHandler()':
CArchMultithreadPosix.cpp :(。text + 0x10a8):对'pthread_sigmask'的未定义引用
CArchMultithreadPosix.cpp :(。text + 0x10cd):对'pthread_sigmask'的未定义引用b $ b CArchMultithreadPosix.cpp :(。text + 0x1104):对'pthread_create'的未定义引用
../../../../../lib/libarch.a(CArchMultithreadPosix.o):在函数'CArchMultithreadPosix :: cancelThread(CArchThreadImpl *)'中:
CArchMultithreadPosix.cpp :(。text + 0x5e3):对'pthread_kill'的未定义引用
collect2:错误:ld返回1退出状态
make [2]:*** [../../bin/synergyd]错误1
make [1]:*** [src / cmd / synergyd / CMakeFiles / synergyd.dir / all]错误2
make:*** [all]错误2
返回至:/usr/local/src/synergy-1.4.15-Source
错误:make失败:512


解决方案

解决方案:手动更改 /内容的顺序synergy-1.4.15-源/src/cmd/synergyd/CMakeFiles/synergyd.dir/link.txt 将-lpthread内容放在最后 。 p>

When following the build instructions for Synergy, I get the following errors.

Is there an already-developed solution to get Synergy to build?
If not, how do I get Synergy to compile on Ubuntu 13.10?

../../../../../lib/libarch.a(CArchMultithreadPosix.o): In function `CArchMultithreadPosix::newMutex()':
CArchMultithreadPosix.cpp:(.text+0x319): undefined reference to `pthread_mutexattr_init'
../../../../../lib/libarch.a(CArchMultithreadPosix.o): In function `CArchMultithreadPosix::raiseSignal(IArchMultithread::ESignal)':
CArchMultithreadPosix.cpp:(.text+0x43b): undefined reference to `pthread_kill'
../../../../../lib/libarch.a(CArchMultithreadPosix.o): In function `CArchMultithreadPosix::threadSignalHandler(void*)':
CArchMultithreadPosix.cpp:(.text+0x490): undefined reference to `pthread_detach'
../../../../../lib/libarch.a(CArchMultithreadPosix.o): In function `CArchMultithreadPosix::closeThread(CArchThreadImpl*)':
CArchMultithreadPosix.cpp:(.text+0x62b): undefined reference to `pthread_detach'
../../../../../lib/libarch.a(CArchMultithreadPosix.o): In function `CArchMultithreadPosix::newThread(void* (*)(void*), void*)':
CArchMultithreadPosix.cpp:(.text+0x8e6): undefined reference to `pthread_sigmask'
CArchMultithreadPosix.cpp:(.text+0x90f): undefined reference to `pthread_sigmask'
CArchMultithreadPosix.cpp:(.text+0x935): undefined reference to `pthread_create'
CArchMultithreadPosix.cpp:(.text+0x9a4): undefined reference to `pthread_create'
../../../../../lib/libarch.a(CArchMultithreadPosix.o): In function `CArchMultithreadPosix::CArchMultithreadPosix()':
CArchMultithreadPosix.cpp:(.text+0xe11): undefined reference to `pthread_mutexattr_init'
CArchMultithreadPosix.cpp:(.text+0xf05): undefined reference to `pthread_sigmask'
CArchMultithreadPosix.cpp:(.text+0xf26): undefined reference to `pthread_sigmask'
../../../../../lib/libarch.a(CArchMultithreadPosix.o): In function `CArchMultithreadPosix::startSignalHandler()':
CArchMultithreadPosix.cpp:(.text+0x10a8): undefined reference to `pthread_sigmask'
CArchMultithreadPosix.cpp:(.text+0x10cd): undefined reference to `pthread_sigmask'
CArchMultithreadPosix.cpp:(.text+0x1104): undefined reference to `pthread_create'
../../../../../lib/libarch.a(CArchMultithreadPosix.o): In function `CArchMultithreadPosix::cancelThread(CArchThreadImpl*)':
CArchMultithreadPosix.cpp:(.text+0x5e3): undefined reference to `pthread_kill'
collect2: error: ld returned 1 exit status
make[2]: *** [../../bin/synergyd] Error 1
make[1]: *** [src/cmd/synergyd/CMakeFiles/synergyd.dir/all] Error 2
make: *** [all] Error 2
Going back to: /usr/local/src/synergy-1.4.15-Source
Error: make failed: 512

解决方案

SOLUTION: manually change the order of the contents of /synergy-1.4.15-Source/src/cmd/synergyd/CMakeFiles/synergyd.dir/link.txt to put -lpthread contents last.

这篇关于synergy无法编译-对`pthread_xxxx的未定义引用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆