이 경로에서 코드를 컴파일 /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
디렉토리가 포함되어 있다고 가정합니다.