我有多个 c 源文件。我想通过脚本编译它们。我知道我可以通过 makefile 做到这一点,但我更喜欢简单的脚本。
我觉得makefile太复杂了,所以我正在寻找简单的脚本来编译多个文件,然后在Linux(GNU)中创建共享库。
我知道如何使用终端编译/构建共享库,所以只想从简单的脚本运行我的命令。
gcc -c -Wall tbl0.c tbl1.c tbl2.c
gcc -shared -Wall -o libtbl.so tbl.c -I.
-Wl,-z,defs -L. -lpthread -lm -ldl
有什么帮助吗?
-
只需将您的命令复制粘贴到文件中,比如
x.sh
. -
在
x.sh
所在的目录中键入chmod +x x.sh
。 -
通过键入
./x.sh
运行x.sh
apollo:~/test$ cat > x.sh gcc -c -Wall tbl0.c tbl1.c tbl2.c gcc -shared -Wall -o libtbl.so -I. -Wl,-z,defs -L. -lpthread -lm -ldl apollo:~/test$ chmod +x x.sh apollo:~/test$ ./x.sh #run
我建议你坚持使用Makefile。它们最初可能看起来很复杂,但从长远来看很有用。
首先:
chmod +x script.sh
然后通过说来调用它:
./script.sh
您的脚本应为:
#!/bin/bash
gcc -c -Wall tbl0.c tbl1.c tbl2.c
gcc -shared -Wall -o libtbl.so tbl.c -I. -Wl,-z,defs -L. -lpthread -lm -ldl
你不要忘记第二行的输入文件吗?