2016-10-11 6 views
0

내 Qt 프로젝트 파일에 쉐이더가있는 파일이 있습니다. 내가 응용 프로그램의 경로를 얻기 위해 노력Qt의 현재 경로를 얻는 방법

QCoreApplication::applicationDirPath() 

그것은 나에게 줄 :

"C를 :/사용자/USER_NAME/데스크탑/PROJECT_NAME/빌드 PROJECT_NAME-Desktop_Qt_5_7_0_MinGW_32bit - 디버그/디버그 "

그러나 실제로, 쉐이더 파일에 있습니다

"C :/사용자/USER_NAME/데스크탑/PROJECT_NAME/PROJECT_NAME/쉐이더"

내가 올바른 경로를 얻을 수있는 방법

?

+1

난은 "거기에 쉐이더 파일"모르겠어요,하지만 사용하기위한 좋은 후보 냄새 : 또 다른 해결책은 귀하의 경우, 실행 파일의 위치 아래 쉐이더 파일을 복사 할 수 있습니다 [자원 시스템] (https://doc.qt.io/qt-5/resources.html). – peppe

답변

3

올바른 결과가 나옵니다. 기본적으로 Qt Creator가 포함 된 대부분의 IDE는 소스가 저장된 디렉터리와 다른 디렉터리에 프로젝트를 컴파일하고 거기에서 또는 다른 위치에서 프로젝트를 실행합니다.

당신은 Qt는 창조주를 사용하는 가정하면, 프로젝트 설정 창에서 실행 파일의 작업 디렉토리를 변경할 수 있습니다 응용 프로그램 실행 파일이 들어있는 디렉토리를 반환하는

screenshot

1

QCoreApplication::applicationDirPath() 당으로. 출력은 Qt IDE에서 응용 프로그램을 실행하는 동안 기반으로합니다. 또한 셰이더 파일은 실행 파일과 동일한 위치에 있어야합니다. 따라서 공통 위치 (예 : % appdata %)를 사용하거나 쉐이더 파일이있는 하드 코딩 된 경로를 사용할 수 있습니다.

C:/Users/USER_NAME/Desktop/PROJECT_NAME/build-PROJECT_NAME-Desktop_Qt_5_7_0_MinGW_32bit-Debug/debug

관련 문제