我已经在此路径中编译了代码:/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
注意:目录中有一些文件夹,例如SRC
和LOGS
我的可执行文件位于SRC
文件夹内。
答案1
您的程序使用当前工作目录的相对路径来访问LOGS/startlog.txt
.如果LOGS
当前目录中没有目录,则应用程序失败。
要纠正此问题,请确保应用程序使用绝对路径来访问文件,或在启动应用程序时更改工作目录:
( cd /home/m/ChatScript-master/SRC && ./myapp ) &
...假设/home/m/ChatScript-master/SRC
包含所需的LOGS
目录。