我有多个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
任何帮助?
答案 0 :(得分:1)
只需将您的命令复制粘贴到文件中,例如x.sh
。
在chmod +x x.sh
所在的目录中输入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。它们最初可能看起来很复杂,但从长远来看很有用。
答案 1 :(得分:1)
首先:
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
您是否忘记了第二行的输入文件?