【发布时间】:2021-11-18 20:56:06
【问题描述】:
几年前在 Ubuntu 16.0.4 上,我使用过这个库: git clone https://github.com/Beckhoff/ADS 并且只使用 make 命令构建、编译,最后在主目录中我找到了一个名为 AdsLib-Linux.a 的文件可能仅此而已。
现在我在 Ubuntu 20.04 上,我再次需要这个库,但这次 make 不会产生相同的输出,并期待我最终使用它而不是 make 的自述文件说明:
meson build
ninja -C build
现在创建一个新目录 build 但没有像以前那样在根目录上的 .a 文件。而是在构建目录 libADSLib.a 中有一个新文件。使用正确的 make 命令也会发生同样的事情。
也许作者多年来更改了配置文件的某些内容或工具的行为发生了变化,但我无法再获取以前的文件,并且我需要它用于现在不再执行的其他引用代码。
查看 MakeFile 我发现在 example 文件夹中,与父目录中的不同,MakeFile 具有类似的内容:
$(warning ATTENTION make is deprecated and superseeded by meson)
...
${PROGRAM}: LIB_NAME = ../AdsLib-${OS_NAME}.a
...
但我尝试阅读介子和忍者指南中关于设置、配置、构建等的所有内容,都不再生成该文件。
我也尝试过先构建,然后将所有文件从示例文件夹复制到父目录,然后再次构建,但那里仍然没有 .a 文件。
如何正确配置构建过程以便创建此 -Linux.a 文件。或者如果不再可能,它现在产生什么我可以使用而不是以前产生的?
【问题讨论】:
标签: makefile build ubuntu-20.04 ninja meson-build