我试图在gcc
上的不同travis-ci
版本上编译一些多线程代码。用于构建的版本是:g++ 4.8
和g++ 4.9
。在两个版本上,如果没有-lpthread
,代码将拒绝编译。然而,在添加-lpthread
标志时,它们会进行编译,但是在运行时,g++ 4.8
代码刚刚崩溃,而g++ 4.9
似乎构建了正确的编译。现在,当我在两个编译器上将标志更改为-pthread
时,两者都正确构建。我理解,-lpthread
链接到C-style
线程库,而-pthread
导致编译器链接正确的库,'可能'不是C-style
线程库。我对么?以下是两个构建日志的链接:gcc 4.8和gcc 4.9。