给定一个使用 C 库的 Perl XS 模块,假设有一个正确设置的 Makefile.PL,以便所有头文件和库位置、编译器和链接器标志等都能正常工作。
现在,假设我想包含一个带有所述 XS 模块的小型 C 程序,该模块使用相同的底层 C 库。指定目标可执行文件以便使用相同的设置和标志构建它的正确、独立于平台的方法是什么?
如果我执行以下操作
sub MY::postamble {
return <<FRAG;
target$Config{exe_ext}: target$Config{obj_ext}
target$Config{obj_ext}: target.c
FRAG
}
我没有得到我在参数中设置的包括位置、库列表等WriteMakefile
。如果我开始手动编写规则,我必须至少考虑make
、dmake
和nmake
。如果使用ExtUtils::CBuilder,我想不出一种直接的方法来指定要链接的库。
我肯定错过了什么。如果您能指出来,我将不胜感激。