2010-01-02 4 views
1

cygwin을 사용하여 Linux에서 Windows로 C++ 프로그램을 이식하려고합니다. 지금은 제대로 구축하고 연결했지만 프로그램을 시작하면 오류가 발생하여 즉시 종료됩니다. 하지 GDB에, 그것을 읽고 대화 제기하면Cygwin 포트가 작동하지 않음 => 시작시 즉시 종료 됨

$ gdb ../../bin/ARCH.cygwin/release/myApp 
GNU gdb 6.8.0.20080328-cvs (cygwin-special) 
Copyright (C) 2008 Free Software Foundation, Inc. 
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> 
This GDB was configured as "i686-pc-cygwin"... 
(no debugging symbols found) 
(gdb) run 
Starting program: bin/ARCH.cygwin/release/myApp.exe 
[New thread 1452.0x99c] 
gdb: unknown target exception 0xc0000139 at 0x77149eed 

Program exited with code 030000000471. 
You can't do that without a process to debug. 

:. "A 문제는 프로그램이 제대로 작동하지 발생을 Windows가 종료됩니다 내가 GDB에서 그것을 시도 할 때, 나는 다음과 같은 '알 수없는 대상 예외'결과를 얻을 수 프로그램이 있으면 솔루션을 사용할 수 있는지 알려줍니다. "

내가 잘못했을 수있는 아이디어가 있습니까?

감사합니다.

윌리엄

답변

2

Microsoft는 STATUS_ENTRYPOINT_NOT_FOUND으로 0xC0000139을 설명합니다. 이는 귀하의 프로그램이 제대로 연결되지 않았 음을 의미합니다. 빌드 스크립트를 다시 확인하여 컴파일하고 관련 파일을 모두 링크하십시오.

라이브러리를 사용하고 있다면 링크 문제가있을 수 있습니다 (또는 어쩌면 DLL이 누락되었을 수 있습니다).

생성 된 오류 보고서를 확인하면 더 많은 정보를 얻을 수 있습니다. the error message Microsoft associates with that error에는 정확히 찾을 수없는 진입 점이 포함되어야합니다.

2

STATUS_ENTRYPOINT_NOT_FOUND는 일반적으로 프로그램이 실행중인 시스템에 구현되어 있지 않은 함수와 연결하고 있음을 의미합니다. 즉, Windows XP에서 함수를 호출하려고하지만 Windows Vista 부터만 구현되었습니다. Dependency Walker를 사용하여 어떤 특정 기능을 찾을 수 없는지 확인할 수 있습니다.

1

응용 프로그램을 실행하고 해당 dll 파일을 실행 파일의 경로에 복사하는 데 필요한 라이브러리를 확인하십시오.

관련 문제