경로 환경 변수가 작동하지 않습니다.


-1

수정 된 질문

나는 어디서나 명령 프롬프트에서 * .bat 파일에 액세스하려는 XP 컴퓨터가 있습니다. 예를 들어, vcvarsall.bat 내 Visual Studio 2010 디렉토리에서.

일반적으로이 작업은 * .bat 파일의 디렉토리 경로를 사용자 환경 변수 "Path"에 다음과 같이 입력하여 수행 할 수 있습니다. C:\Program Files\Microsoft Visual Studio 10.0\VC

이 작업을 수행 한 후에 다음을 입력 할 수 있습니다. vcvarsall 현재 디렉터리 경로에 관계없이 명령 프롬프트에서

그러나 이것은 내 XP 기계 중 하나에서 작동하지 않습니다. 나는 노력했다. echo %path, 거기에 있지만 컴퓨터가 찾을 수 없습니다. vcvarsall.

나는 이것에 대한 원인을 조사하려고했지만 그것을 찾을 수 없었다. 이것에 대한 통찰력은 크게 감사 할 것입니다.

이전 질문 - 무시하십시오.

This question is not so much about which exe or dll file I'm trying to make use of, but rather the unusual behaviour on one of my XP machines. To prevent confusion, I have rephrased the question as above, but left the old question just for archival purpose. I thank you for the time you take to help me with this.

DLL 파일의 위치에 대한 경로를 추가했습니다 ( FrameStream.dll )를 Windows XP 시스템의 내 시스템 변수에 저장하지만 해당 DLL 파일을로드하는 응용 프로그램을 실행하면 오류 메시지가 나타나고 해당 DLL 파일을 찾을 수 없다는 메시지가 나타납니다.

이것은 내 시스템 변수 경로의 항목입니다.

% SystemRoot % \ system32; % SystemRoot %; % SystemRoot % \ System32 \ Wbem; % NUANCE_VERSION % \ bin; C : \ Program Files \ Microsoft SQL Server \ 100 \ Tools \ Binn; C : \ Program Files \ Microsoft SQL Server \ 100 \ DTS \ Binn; C : \ WINDOWS \ system32 \ WindowsPowerShell \ v1.0; C : \ Program Files \ Skype \ 전화; C : \ Python34 \ Scripts; C : \ Python34; C : \ Dev \ ffmpeg-20160219-git-98a0053-win32-shared \ bin; C : \ Dev \ SDL2-2.0.4 \ lib \ x86; C : \ Ang_delwhenhesgone \ WebcamStreamClient \ Debug; C : \ Ang_delwhenhesgone \ ffmpeg_scripts; C : \ Dev \ opencv_old \ build \ x86 \ vc10 \ bin;

DLL 파일의 경로는 다음과 같습니다. C:\Ang_delwhenhesgone\WebcamStreamClient\Debug;.

명령 프롬프트에 'echo % Path %'를 입력하면 다음과 같이 표시됩니다.

C : \ WINDOWS \ system32; C : \ WINDOWS; C : \ WINDOWS \ System32 \ Wbem; C : \ PROGRA ~ 1 \ COMMON ~ 1 \
NUANCE ~ 1 \ bin; C : \ Program Files \ Microsoft SQL Server \ 100 \ Tools \ Binn; C : \ Program F
iles \ Microsoft SQL Server \ 100 \ DTS \ Binn; C : \ WINDOWS \ system32 \ WindowsPowerShell \ v1
.0; C : \ Program Files \ Skype \ 전화; C : \ Python34 \ Scripts; C : \ Python34; C : \ Dev \ ffmpe
g-20160219-git-98a0053-win32-shared \ bin; C : \ Dev \ SDL2-2.0.4 \ lib \ x86; C : \ Ang_delwh
enhesgone \ WebcamStreamClient \ Debug; C : \ Ang_delwhenhesgone \ ffmpeg_scripts; C : \ Dev
\ opencv_old \ build \ x86 \ vc10 \ bin;

그것은 맞는 것 같습니다.

나는 두 개의 다른 머신 (XP와 Win10)에서 동일한 Path 항목을 아무런 문제없이 설정할 수 있었다고 덧붙여 야합니다. 이것은 내가 여기서 뭔가 잘못되었다고 의심하게했다. 문제의 원인이되는 일본어 로켈 일 수 있습니까? 나는 단지 궁금해 할 수있다.

도움말 정말 감사하겠습니다.


DLL은 경로에 추가하는 것이 아니라 질문에 대한 것이 아니라는 것에 대한 등록을 요구할 수 있습니다.
SeanClt

제안 해줘서 고마워. DLL은 단지 예제이며 regsvr32를 사용할 수 있습니다. 그러나, 내 질문은 주로 경로를 설정하는 데 관련이 있습니다. 예를 들어, 어디서나 FrameStreamDemo.exe를 실행하고 싶지만 현재 그렇게 할 수 없습니다. 어떤 아이디어?
bot1131357

명령을 실행할 때 이름의 .exe 부분을 입력 했습니까?
Frank Thomas

FrameStreamDemo.exe와 FrameStreamDemo 모두 작동하지 않았습니다. 나는 이것이 완전히 다른 무언가에 의한 괴상한 문제라고 의심하기 시작했다. 그러나 나는 그 원인이 무엇인지 알 수 없었다.
bot1131357

-1 나는이 일이 경로의 진입과 함께 또는없이 일어난다는 인상을받습니다. 어떤 경우에이 전체 질문은 그릇되고 오도하는 것입니다. 그렇다면 PATH를 언급하지 않고 문제를 편집해야합니다.
barlop

답변:


1

DLL은 경로에서로드되지 않으며 다양한 위치에서로드됩니다. 어디서나 exe를 실행할 수 있기를 원한다면 몇 가지 가능한 해결책이 있습니다

  • 바로 가기를 사용하여 실제 exe가 아닌 exe를 가리켜 야합니다. 그러면 exe는 여전히 그 의존성에 가까울 수 있습니다.
  • exe를 만든 프로그램을 변경하여 특정 위치에서 DLL을 찾습니다.
  • DLL을 GAC 또는 Windows가 자동으로 찾을 다른 위치에 추가하십시오. 여기에 Windows 검색 위치 .

그것들은 유효한 제안이지만이 컴퓨터의 비정상적인 행동에 더 많은 관심을 가지고 있습니다.
bot1131357

@ bot1131357 PATH에 해당 항목이없는 경우에도이 오류가 발생합니까?
barlop

1

이것은 어색합니다 ...하지만이 질문에 대한 답을 찾았습니다. 문제의 원인은 흰색 간격에 있습니다.

대신 이것 :

C:\Program Files\Skype\Phone; C:\Python34\Scripts; C:\Python34; C:\Program Files\Microsoft Visual Studio 10.0\VC

그것은 다음과 같아야합니다.

C:\Program Files\Skype\Phone;C:\Python34\Scripts;C:\Python34;C:\Program Files\Microsoft Visual Studio 10.0\VC
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.