와인이 DLL을 찾을 수 없습니다

와인이 DLL을 찾을 수 없습니다

현재 Wine을 설치할 때 겪고 있는 문제는 게임을 시작하는 DLL을 찾을 수 없다는 것입니다. 그는 다음과 같이 말했습니다:

0100:err:module:import_dll Library D3DCOMPILER_43.dll (which is needed by L"B:\\Games\\Game.exe") not found

그러나 DLL이 에 있다는 것을 알고 있습니다 wineprefix. 유일한 문제는 DLL이 모두 소문자라는 것입니다. 대소문자 혼합 이름을 소문자 이름에 심볼릭 링크하면 작동하는 것 같습니다. 이상한 점은 대소문자 구분 문제라는 것을 알기 전에 시스템을 몇 번 재부팅했다는 것입니다. 때로는 작동하지만 대소문자 구분은 문제가 아니며 때로는 그렇지 않은데 다시 DLL을 찾을 수 없다는 메시지가 나타납니다. 그리고 항상 이랬던 건 아니고, 언제부터 이렇게 보이기 시작했는지는 모르겠습니다(근데 아마 오류 때문에 시스템을 다시 설정을 했기 때문이겠죠)

이제 Linux 커널 버전 5.2 설정에 대소문자를 구분하지 않는 파일 시스템이 도입되었지만 이를 일반적인 방법으로 수정할 수 있는지 궁금합니다.

답변1

와인은대소문자를 구분하지 않음파일 열기(DLL 포함) 측면에서.

나는 이 라이브러리가 설치되어 있지 않거나 Wine이 라이브러리를 찾을 것으로 예상하는 위치가 아니라고 99.99% 확신할 수 있습니다.

winetricks활성화하려면 이 기능을 사용하세요 . 일반적으로 완벽하게 작동합니다. AFAIK Ubuntu 및 그 파생물은 이 패키지와 함께 제공되지만 여전히 GIT에서 직접 다운로드하는 것이 좋습니다.https://github.com/Winetricks/winetricks

이제 Linux 커널 버전 5.2 설정에 대소문자를 구분하지 않는 파일 시스템이 도입되었지만 이를 일반적인 방법으로 수정할 수 있는지 궁금합니다.

Wine은 이 기능이 필요하지 않으며 자체 파일 열기 루틴을 사용하여 파일을 엽니다. 당신은 와인과 관련이 없는 문제를 해결하려고 합니다.


wineprefix를 지우 $HOME/.wine거나( ) 새 것을 생성하세요( WINEPREFIX="$HOME/.wine123" wine app.exe). 나는 문제가 당신에게 있다고 믿습니다. 기본 와인 접두사를 계속 사용하면 문제가 발생할 수 있습니다. 이와 관련하여 가능한 문제를 제거하기 위해 별도의 응용 프로그램에 대해 별도의 접두사를 사용하는 것이 좋습니다.

답변2

게임을 위해 Windows에서 Linux로 배를 전환했을 때 Windows와 공유되는 NTFS 드라이브에서 이 문제가 발생했습니다.

양성자 FAQNTFS 읽기 문제.

시작할 수 없는 게임을 ext4 파티션으로 옮긴 후 문제가 사라졌습니다.

(NTFS에서 한 게임, ext4에서 한 게임을 테스트했습니다. 두 게임 모두 재부팅 여부에 따라 이 문제가 발생했습니다. NTFS에서 게임을 재부팅하고 테스트하여 문제를 재현했습니다. 문제가 발생했을 때 ext4에서 게임을 실행했을 때 시도할 때마다 100% 시작됩니다. 시작하는 데 재부팅이 필요하지 않습니다.)

FAQ에서는 약간 다른 수정 사항을 제안하지만 lowntfs사용하는 것을 좋아하지 않습니다.

답변3

저는 와인 전문가가 아니기 때문에 이와 같은 문제를 해결하는 "일반적인" 방법이 무엇인지 잘 모르겠습니다. 그러나 "전통적인" 방법은 다른 이름을 가진 파일에 대한 링크(기호 링크 또는 하드 링크)를 만드는 것입니다.

cd /opt/wine-stable/lib/wine/
ln -s d3dcompiler_43.dll D3DCOMPILER_43.dll

확실히 이상적인 솔루션은 아니지만 일반적으로 빠르고 더러운 수정으로 작동합니다.

관련 정보