如何不使用英特尔 C 编译器 link 与 libm

How not to link with libm using Intel C Compiler

我想编译一些非常基本的测试代码,调用日志函数,然后使用英特尔 C 编译器在 Linux 上的标准输出上打印结果。我希望代码针对 libimf(英特尔的数学函数库)而不是 GNU libm,这样我就可以确定哪个 log 函数是打电话。

到目前为止,我已经 link 与 libimf.so 和 -limf,但是 icc link 与 libm.so 和 -lm 默认。 我想避免这种情况。我该如何进行?

要覆盖针对系统库的链接,我们应该设置并导出 LD_LIBRARY_PATH
根据 icc 手册,icc 链接一些默认库,要禁用此行为,请添加 -nodefaultlibs