C++ 代码在 mac 上编译但在 linux 上不编译

标签 c++ linux

<分区>

我的代码在我的 mac 上运行完美,但在 linux 上无法编译。我收到编译错误

/tmp/ccWcFSEW.o: In function `main':
DroneMap.cpp:(.text.startup+0x22d): undefined reference to `pthread_create'
DroneMap.cpp:(.text.startup+0x262): undefined reference to `pthread_join'
collect2: error: ld returned 1 exit status

有没有人知道这个错误消息是什么意思,或者为什么我会收到它,因为我无法弄明白。

CXX=g++
CXXFLAGS=-Wall -O3

all: DroneMap

clean:
    rm -rf DroneMap

最佳答案

你需要在你的编译命令中包含 pthread 库,我不知道你如何在 MAC 中编译它,但正确的 linux 编译命令应该是这样的。

CXX=g++
CXXFLAGS=-pthread -Wall -O3

all: DroneMap

clean:
    rm -rf DroneMap

关于C++ 代码在 mac 上编译但在 linux 上不编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33027913/

相关文章:

c++ - 在socket编程的select()中重新启动定时器

c - 为什么我的第一个子进程没有收到他 parent 的信号

linux - 什么是 '! -e "/etc/httpd "' in Perl in ' if' 条件

linux - 使用可变参数自动执行

c++ - Qt Creator 中 Qt Designer 中的 float IDE 窗口

C++ 开关总是默认

c++ - 是否可以将 bind() *this 绑定(bind)到类成员函数以回调 C API

c++ - 似乎无法找到无限循环的原因

MySQL 内存使用率增长到 100%

c++ - 带有 unique_ptr 的通用单链表,MS visual studio C++ 中的未知错误