/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참고: 예를 들어 디렉터리에는 일부 폴더가 있고 내 실행 파일 SRC은 폴더 안에 LOGS있습니다 .SRC

답변1

프로그램은 현재 작업 디렉토리에 대한 상대 경로를 사용하여 액세스합니다 LOGS/startlog.txt. LOGS현재 디렉토리에 디렉토리가 없으면 응용 프로그램이 실패합니다.

이 문제를 해결하려면 애플리케이션이 절대 경로를 사용하여 파일에 액세스하는지 확인하거나 애플리케이션을 시작할 때 작업 디렉터리를 변경하세요.

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

... /home/m/ChatScript-master/SRC필요한 LOGS디렉토리가 포함되어 있다고 가정합니다.

관련 정보