使用 libtool 和 autoconf 构建 ASM 代码
Posted
技术标签:
【中文标题】使用 libtool 和 autoconf 构建 ASM 代码【英文标题】:Build ASM code using libtool and autoconf 【发布时间】:2015-05-21 12:59:45 【问题描述】:我正在使用libtool
和automake
来构建我们的项目。项目有 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 等