CLICK模块路由器:代码中加入多线程函数 (报错解决:undefined reference “pthread_mutex_lock”)

2023-05-16

最近想在CLICK中编写读写锁的相关应用,所以用到了<pthread.h>下的函数 pthread_mutex_lock 等

但是当我  make Install 编译时

发生了报错   undefined reference “pthread_mutex_lock”等,

可以猜测应该是没有链接 库lpthread

但是我只知道编译单个c文件的时候链接库 是这样的 

gcc -o test test.c -lpthread

CLICK是一个大的框架项目,要怎么添加 lpthread?

 

经过查阅资料,以及求助大佬

首先,该项目编译时第一句是  ./configure

所以问题应该出在这

查看click目录下的configure文件,可以看到怎么才能加入多线程

 

我们需要将命令后面加上 --enbale-user-multithread

./configure --enbale-user-multithread  --enable-local(这一条是因为我把自己编译的模块加入到了local的缘故)

之后再sudo make install 发现不会报错了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CLICK模块路由器:代码中加入多线程函数 (报错解决:undefined reference “pthread_mutex_lock”) 的相关文章

  • C++ 内部如何存储引用? [复制]

    这个问题在这里已经有答案了 我只是想知道 引用是如何内部存储的 我觉得深入了解该级别将使我更好地理解指针与引用的概念并做出决策选择 我怀疑它的工作原理基本上与指针相同 但编译器负责处理指针 请指教 根本不要求以任何方式 存储 引用 就语言而
  • 如何在 Eclipse 中引用不同的 Java 项目

    我有项目1和项目2 Project1 依赖于 Project2 我有点厌倦了 每次在 Project2 中进行一些代码更改时 我都必须导出 Project2 JAR 文件 并将其复制到 Project1 的 lib 文件夹中 有没有办法自动
  • 如何在 AppleScript 的处理程序中有效地构建列表?

    AppleScript 文档建议使用以下代码来有效构建列表 set bigList to set bigListRef to a reference to bigList set numItems to 100000 set t to ti
  • JavaScript 数组中的空项和未定义项有什么区别? [复制]

    这个问题在这里已经有答案了 考虑以下 JavaScript 代码 在节点 REPL 中 gt let a new Array 10 undefined gt a lt 10 empty items gt gt a map e gt 1 lt
  • 从函数返回哈希值的最佳 Perl 实践是什么?

    我正在考虑将哈希引用传递给函数或从函数返回数据的最佳实践 一方面 仅将输入值传递给函数并仅返回输出变量似乎很直观 然而 在 Perl 中传递哈希值只能通过引用来完成 因此有点混乱 而且似乎更有可能犯错误 另一种方法是在输入变量中传递引用 但
  • C++ 类的互斥成员导致编译错误

    我不确定为什么当我向 myClass 添加互斥体成员时会发生这种情况 在本例中为 mu Error C2661 std tuple lt void thiscall MyNameSpace myClass void MyNameSpace
  • 在WPF中如何添加菜单项事件?

    在我的 WPF 应用程序中 我添加一个菜单 然后在其下添加几个菜单项 例如 我的菜单项之一是 Main Item 然后我在 Main Item 下添加subItem1 subItem2和subItem3 我想单击 subItem1 并执行某
  • XCode 4.3.2 SDLMain.o 中的 SDL 未定义符号

    我已经开始尝试在 Xcode 4 3 2 中使用 SDL 因此我启动了 Mac OS X 的 Cocoa 应用程序并连接了我的所有框架 OpenGL SDL 等 我没有 SDL Image SDL Mixer 等 我需要这些吗 当我尝试编译
  • Android NDK 互斥锁

    我一直在将跨平台 C 引擎移植到 Android 并注意到它在调用时会莫名其妙地 并且不一致地 阻塞pthread 互斥锁 这个引擎已经在多个平台上运行了很多年 并且有问题的代码多年来没有改变 所以我怀疑这是一个死锁或其他有错误的代码 这一
  • 标准 C++ 中的共享递归互斥体

    有一个shared mutex http en cppreference com w cpp thread shared mutex计划用于 C 17 的课程 和shared timed mutex http en cppreference
  • 给出对象的指针作为参数

    假设我有 void func foo obj 我有 foo object 我该如何制作object进入争论func 只需取消引用它即可 func object
  • Pthread互斥锁由不同线程解锁

    一个天真的问题 我之前读到过 MUTEX 只能由锁定它的线程解锁 但我写了一个程序THREAD1锁定 mutexVar 并进入睡眠状态 然后THREAD2可以直接解锁mutexVar做一些操作并返回 gt 我知道每个人都说我为什么要这样做
  • 使用 std::mutex 实现类的交换

    假设我们有一个class with a std mutex class Foo std mutex mutex std string str other members etc public friend void swap Foo lhs
  • 为什么 32 位 .NET 进程的引用类型的最小大小为 12 字节

    我正在读专业 Net 性能 https rads stackoverflow com amzn click com 1430244585本书有关参考类型内部结构的部分 它提到 对于 32 位 net 进程 引用类型具有 4 字节的对象头和
  • C 中的互斥锁/锁:C11 `mtx_lock()` 与 `pthread_mutex_lock()`

    互斥体直到 C11 才被引入 C 标准 对吗 既然它们已经存在 那么人们应该使用哪一个或更喜欢哪一个 以及何时使用 为什么 有什么区别 C11 s mtx lock vs pthread mutex lock C11 s mtx lock
  • Rust 元组参考和参考元组

    元组引用和作为类型引用的元组之间有什么关系 为什么第一个有效但第二个不行 let a 1 let b 2 This works c i32 d i32 let c d a b type TupleOfRef lt a gt a i32 a
  • 在 Windows 窗体应用程序 (.net) 中单击图像的 X/Y 坐标

    有没有办法知道在 FORMS 应用程序中单击了哪些 x y 坐标 看看鼠标事件参数 http msdn microsoft com en us library system windows input mouseeventargs memb
  • 为什么我不能对普通变量进行多态?

    我是一名Java程序员 最近开始学习C 我对某事感到困惑 据我了解 在 C 中 要实现多态行为 您必须使用指针或引用 例如 考虑一个类Shape与实施的方法getArea 它有几个子类 每个子类都以不同的方式重写 getArea 然后考虑以
  • 如何在 OS X 上使用 OpenSSL 1.0.1 编译 PHP 5.5.19

    我已经安装了 OpenSSL 1 0 1j usr local ssl现在我尝试使用此版本的 OpenSSL 编译 PHP 5 5 19 这是我的配置过程 export CFLAGS arch x86 64 export CXXFLAGS
  • 在 PHP 中,有人可以解释克隆与指针引用吗?

    首先 我了解编程和对象 但以下内容对我来说 PHP 没有多大意义 在 PHP 中 我们使用 运算符来检索对变量的引用 我将引用理解为用不同变量引用相同 事物 的一种方式 如果我说例如 b 1 a b a 3 echo b 将输出 3 因为对

随机推荐