使用 libtool 和 autoconf 构建 ASM 代码

Posted

技术标签:

【中文标题】使用 libtool 和 autoconf 构建 ASM 代码【英文标题】:Build ASM code using libtool and autoconf 【发布时间】:2015-05-21 12:59:45 【问题描述】:

我正在使用libtoolautomake 来构建我们的项目。项目有 CPP 和 ASM 代码。 正确构建 CPP 代码并创建 .o 文件。

要构建 ASM 代码,请参阅配置中给出的说明

AM_PROG_AS, CCASFLAGS

ASM 代码似乎没有构建。在编译摘要中,我看到构建了带有 .s 扩展名的 ASM 代码,但缺少目标文件。当我单独运行以下命令时(我从编译的详细信息中获取)它运行但不生成目标文件。

libtool: compile: gcc -S -DARCH_X86_64=1 -g -O2 -c file.s -fPIC -DPIC -o .libs/file.o

可能是什么原因?需要任何其他配置。

是否有任何选项可以强制 libtool 使用 yasm 进行 ASM 代码构建??

【问题讨论】:

如果您正在编写 C++,为什么要使用 c 标签? 【参考方案1】:

-S 选项指示 gcc 生成一个汇编文件,而不是汇编。如果您想检查生成的汇编代码,它只对 C 文件有意义。删除它。下次咨询manual for the meaning of the options。

【讨论】:

正如你提到的 -S 标志用于生成 .s 文件。这对我来说没有用完。是否可以强制 libtool 选择 yasm 汇编器来汇编 .s 文件?? 删除 -S 然后 gcc 将组装。大概是的,您可以使用 yasm,但请确保您的文件兼容。

以上是关于使用 libtool 和 autoconf 构建 ASM 代码的主要内容,如果未能解决你的问题,请参考以下文章

无法识别 libtool 和 autoconf 的 LT_VERSION

安装 Autoconf, Automake & Libtool

autoconf/automake/libtool - 如何取消定义 PACKAGE_NAME、PACKAGE_TARNAME、PACKAGE_VERSION 等

如何正确更新 m4、autoconf、automake 和 libtool? Mac OSX

已安装 libtool 但未找到 libtoolize

Autoconf:链接器错误链接到自定义库