makefile - 将库名称附加到 makefile 中的 CFLAGS
问题描述
我想在使用 make 编译一些目标文件时添加 $(STATIC_LIB) 。
但是,以这种方式修改 CFLAGS :
tests: CFLAGS +=$(STATIC_LIB)
tests: $(OBJECT_FILES)
echo "Do something"
将库放在源文件之前。我如何将库放在任何文件的名称之后,在 CFLAGS 的末尾?
而不是这个:
cc -g -O2 -Wall -Wextra -Isrc/lcthw -rdynamic -DNDEBUG build/liblcthw.a tests/list_tests.c -o tests/list_tests
我想要:
cc -g -O2 -Wall -Wextra -Isrc/lcthw -rdynamic -DNDEBUG tests/list_tests.c -o tests/list_tests build/liblcthw.a
解决方案
假设您使用默认规则来链接程序,则应将库添加到LDLIBS
makefile 变量中,而不是CFLAGS
. CFLAGS
用于编译器标志,而不是链接器标志。
如果您已经编写了自己的链接规则,那么我们无法回答您的问题,因为您没有向我们展示您编写的链接规则。
推荐阅读
- mysql - 如何在我的计数中获得满足语句的值?
- java - 调用 REST 控制器方法返回 404 null
- ios - 呈现模态视图控制器时的黑色背景
- laravel - Stripe-Vue 支付 POST 500 未兑现承诺
- c# - 如何绑定 WPF listview 项目的背景颜色?
- c# - WPF Datagrid 添加列表
作为列 - javascript - 公告结束时切换 aria-live?
- postgresql - PostgreSQL:读取返回比写入更快
- php - 错误:在执行第二次 bind_param() 时调用成员函数 bind_param()
- vba - VBA IE.Document.All