找不到命令,生成:错误127
Command not found, make: Error 127,
我有一个编译成功的make文件:
CCC = g++
CFLAGS = -c -g -Wall
CCFLAGS = $(CFLAGS)
LDFLAGS = -g
common_objects = main.o tokens.o
flex_objects = flex_scanner.o
hand_objects = hand_scanner.o
both: flex_scanner hand_scanner
flex_scanner: $(flex_objects) $(common_objects)
$(CCC) $(LDFLAGS) $(flex_objects) $(common_objects) -o flex_scanner
flex_scanner.o: flex_scanner.l
flex -it flex_scanner.l > flex_scanner.cc
$(CCC) $(CCFLAGS) flex_scanner.cc
clean:
/bin/rm -f hand_scanner flex_scanner $(hand_objects) $(flex_objects)
$(common_objects) flex_scanner.cc
test: both
flex_scanner < test1 > flex_test1.output
hand_scanner < test1 > hand_test1.output
但是当我尝试运行make test
时,我会得到以下错误:
flex_scanner < test1 > flex_test1.output
/bin/sh: flex scanner:command not found
make *** [test] Error 127
这个错误是什么意思?
(该问题已在评论中得到回答。已转换为社区wiki答案以适应Stackoverflow的问答格式)。
如@Brett Hale所述,应使用./flex_scanner
:
test: both
./flex_scanner < test1 > flex_test1.output
hand_scanner < test1 > hand_test1.output
这是由@Beta解释的:
当您发出类似
flex_scanner
的命令时,您的操作系统必须查找该名称的可执行文件。它有一个查找此类内容的位置列表,其中可能包括也可能不包括"."(用于工作目录)。通过添加"./",你是在告诉操作系统"不要去寻找所谓的‘flex_scanner’,使用我给你的路径"。
现在,PATH
可以按照@JJoao:的解释进行修改
如果您不在敌对机器中,您可以添加export PATH=$PATH:。到您的~/.bashrc或类似程序,在当前目录.中搜索命令
或者,通过@Wojciech Frohmberg:解释的链接,可以将二进制文件添加到PATH
diectory
或者您可以使用
ln -s ~/bin/flex_scanner /path_to_exec/flex_scanner
和ln -s ~/bin/hand_scanner /path_to_exec/hand_scanner
大多数有经验的unix用户都会避免在PATH
上使用.
,因为这会增加运行意外二进制文件的风险。
相关文章:
- C++错误C2600:无法定义编译器生成的特殊成员函数(必须首先在类中声明)
- 使用 MATLAB 编码器生成C++代码:编译错误"undefined reference to `rgb2gray_tbb_real64'"
- 使用外部SDK工具链文件在VisualStudio上生成项目编译错误
- 重载方法的方式会在使用临时调用时生成编译器错误
- 尝试使用继承和模板实现CRTP.Visual Studio正在生成编译器错误
- 错误:在"生成字符串"之前应为";"
- g++ 为 transform() 的参数生成错误
- 生成错误 - "." 标记之前的预期主表达式
- 在Embarcadero C++ Builder中生成的DLL未解决的外部链接错误
- C++生成文件错误"implicit entry/start for main executable"
- Visual Studio 2013,错误 MSB8020:找不到 Visual Studio 2010 的生成工具
- C++/生成文件错误:未定义对"main"的引用
- std:中的错误:生成normal_distribution时随机
- GL_INVALID_VALUE错误生成.纹理尺寸无效.在立方体贴图纹理 427*240*6 上
- 生成文件错误 :生成: *** [主要] 错误 1
- 链接的错误/生成文件
- 错误:生成Mesos中无法识别的命令行选项"-Wno无效源编码"[-Weror]
- 无法在 Visual Studio 2013 中运行非常基本的代码 - 运算符">>"错误/生成错误
- 错误/usr/include/string.h:652:42:错误:生成caffe时未在此作用域中声明“memcpy”
- 多函数定义错误生成文件