通过简单的脚本编译C / C ++程序

时间:2014-02-18 09:08:48

标签: c bash scripting compilation sh

我有多个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

任何帮助?

2 个答案:

答案 0 :(得分:1)

  1. 只需将您的命令复制粘贴到文件中,例如x.sh

  2. chmod +x x.sh所在的目录中输入x.sh

  3. 输入x.sh

  4. 运行./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

您是否忘记了第二行的输入文件?