如标题中所示,当我尝试通过运行以下shell脚本使用g ++编译目标文件时:
#!/bin/bash
name=textsweeper
srcdir=src
buildir=build
cc=g++
cppflags=-Wall -std=c++11 -ggdb -O
libs=
rm -f $buildir/$name $buildir/main.o
$cc $cppflags $srcdir/main.cpp -c -o $buildir/main.o
$cc $buildir/main.o $libs -o $buildir/$name
我收到以下错误:
$ bash compile
compile: line 6: -std=c++11: command not found
以及其他仅适用于stdc ++ 11的错误。我已经尝试过Yahooing该错误,但是我只得到有关实际命令而不是参数的错误的答案。
变量分配对空间敏感。更改:
cppflags=-Wall -std=c++11 -ggdb -O
至
cppflags="-Wall -std=c++11 -ggdb -O"
否则,您将尝试-std=c++11 -ggdb -O
在包含设置的环境中运行命令cppflags=-Wall
。bash允许通过这种方式进行临时环境设置,这就是为什么引用包含空格的任何变量分配很重要的原因。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句