我正在尝试运行学习C Hard Way一书中的程序
我需要将库文件名'build/liblcthw.a‘作为最后一个参数进行传递。
例如:
在Ubuntu上不起作用:
-g -O2 -Wall -Wextra -Isrc -rdynamic -DNDEBUG /liblcthw.a-g/list_tests.c -o tests.c/list_tests.c
在Ubuntu上运行:
gcc -g -O2 -Wall -Wextra -Isrc -rdynamic -DNDEBUG /list_tests.c -o tests.c/list_tests.c/liblcthw.a
如何在Makefile中处理此问题?CFLAGS只会将它添加到源文件名之前,并且它不起作用。如何强制CFALGS在命令末尾添加库文件名?
发布于 2012-07-26 14:50:33
CFLAGS是C编译器的标志。库通常放入一个名为LDLIBS的变量中。设置LDLIBS=build/liblcthw.a,看看是否有效。
发布于 2012-07-26 16:40:24
第一次调用不会成功,因为命令行中源代码和库的顺序是错误的。正确的顺序是源文件,然后是目标文件,然后是静态库和动态库。
https://stackoverflow.com/questions/11663770
复制相似问题