2

在 Makefile.PL 中使用-pthread( not )指定编译和链接的正确方法是什么?-lpthread

我的理解是,在针对 pthread 构建时应该调用 gcc -pthread,因为这个标志扩展为正确的平台特定标志,用于编译和链接。

我开始:

use Config;
my %mm = ( NAME => 'Local::Example::Pthreaded', ...);
...
if ($Config{ccname} eq 'gcc') {
  $mm{DEFINE} = join(' ', '-pthread', $mm{DEFINE});   # ??? in the right place?
  $mm{LIBS}   = ['-pthread'];                         # XXX ignored!

}
WriteMakefile(%mm);

但是,我不确定 DEFINE 的用法是否放在-pthread正确的位置。(用户定义出现在编译命令的末尾。)此外,LIBS 参数被忽略,因为它看起来不像典型的-l/-L链接器参数:“LIBS 中无法识别的参数被忽略:'-pthread'”。

4

0 回答 0