如何与现有自动制作项目中的静态库链接
Posted
技术标签:
【中文标题】如何与现有自动制作项目中的静态库链接【英文标题】:how to link with a static library in an existing auto make project 【发布时间】:2013-12-05 10:50:48 【问题描述】:我有一个静态库(.a 文件),我可以在 Linux 上使用以下命令行很好地与主程序链接,方法是将 .a 放在当前文件夹中并使用带有“”的包含来首选当前文件夹图书馆位置。
gcc userfile.c -L. -lnameoflib
但是,我需要将此预构建库集成到自动生成文件项目中。我尝试将 userfile.c 添加到 Makefile.am 中的源文件列表中。但是,运行 make 时,找不到从静态库调用的函数的引用,即 .a
经过一些调查,它似乎 试图创建一个名为 name.a 的库,因为该库已经存在,我只希望脚本使用它。
make 文件项目是一个现有的知名开源项目,具有标准的引导、配置、制作和制作安装步骤。
非常感谢任何帮助。
【问题讨论】:
如果您不希望这个.a
由现有的makefile 构建,只需将LDADD = ./libsomething.a
添加到Makefile.am
并重新运行automake && configure。
非常感谢。这有助于解决一个问题。我会回来尝试后者。
【参考方案1】:
如果您不希望这个 .a
由现有的 makefile 构建,只需将 LDADD = ./libsomething.a
添加到 Makefile.am
并重新运行 automake && configure。 – 凯尔塔
【讨论】:
以上是关于如何与现有自动制作项目中的静态库链接的主要内容,如果未能解决你的问题,请参考以下文章