当我想从 /home 执行程序时出现错误

当我想从 /home 执行程序时出现错误

我已经在此路径中编译了代码:/home/m/ChatScript-master/SRC并创建了可执行文件myapp

我可以从文件夹内部运行它,SRC例如./myapp.但是当我尝试/home/m/ChatScript-master/SRC/myapp从我的/home/m它给我:

   in cs_init.txt at 0: 
    Error opening utf8writeappend file LOGS/startlog.txt: No such file or directory

为什么我会收到此错误消息?

我的主要问题是,我想构建一个类似信息亭的系统,并想在其中添加我的可执行文件:/home/m/.config/openbox/autostart如下所示:

$ cat /home/m/.config/openbox/autostart 
echo 7 > /tmp/yy
/home/m/ChatScript-master/SRC/myapp &
echo 8 > /tmp/yy2

但这不起作用!我已经可以用其他程序做到这一点,但是这个程序给了我这个错误!

ChatScript-master注意:目录中有一些文件夹,例如SRCLOGS我的可执行文件位于SRC文件夹内。

答案1

您的程序使用当前工作目录的相对路径来访问LOGS/startlog.txt.如果LOGS当前目录中没有目录,则应用程序失败。

要纠正此问题,请确保应用程序使用绝对路径来访问文件,或在启动应用程序时更改工作目录:

( cd /home/m/ChatScript-master/SRC && ./myapp ) &

...假设/home/m/ChatScript-master/SRC包含所需的LOGS目录。

相关内容