【发布时间】:2016-08-03 22:05:54
【问题描述】:
我正在尝试编写一个 Makefile。这是我写的。
CC='/buildtools/toolchain/wr-x86/3.0FCScg/bin/i586-wrs-linux-gnu-gcc --sysroot=/buildtools/toolchain/wr-x86/3.0FCScg/sysroot'
IDIR =../../../include
CFLAGS=-I$(IDIR)
LDIR =../../../../../../../../.debug/lib.out/public/
LIBS= -lmylib1 -lmylib2 -lmylib3
myexec: my_code.c
$(CC) $(CFLAGS) -o myexec my_code.c
这在运行时会抛出错误
make: /buildtools/toolchain/wr-x86/3.0FCScg/bin/i586-wrs-linux-gnu-gcc --sysroot=/buildtools/toolchain/wr-x86/3.0FCScg/sysroot: Command not found
但是,当我在终端中手动运行编译命令时,它可以工作。
export CC='/buildtools/toolchain/wr-x86/3.0FCScg/bin/i586-wrs-linux-gnu-gcc --sysroot=/buildtools/toolchain/wr-x86/3.0FCScg/sysroot'
$CC -I ../../../include -L ../../../../../../../../.debug/lib.out/public/ -lmylib1 -lmylib2 -lmylib3 -o myexec my_code.c
【问题讨论】:
-
不要在 makefile 中加上引号。
-
并且选项应该在
CFLAGS,而不是CC。 -
感谢您的建议。删除引号有帮助。另外,我链接库的方式是否正确?
-
在终端中运行
'/buildtools/toolchain/wr-x86/3.0FCScg/bin/i586-wrs-linux-gnu-gcc --sysroot=/buildtools/toolchain/wr-x86/3.0FCScg/sysroot'会发生什么?