2017-01-05 3 views
1

, 나는 약간 다른 맞춤법 파일이하는wxWidgets에 라이브러리 빌드 깨진 파일 이름은 wxWidgets에에게 3.1.0 라이브러리를 구축하는 시도에

ar: gcc_mswu\moolib_fontmap.o: No such file or directory 

이 존재하는이 오류를 얻고있다

Directory of C:\Users\James\code\wxwidgets-3.1.0\build\msw\gcc_mswu 

2017-01-05 02:01 PM   98,886 monolib_fontmap.o 

그것을 makefile의 오타처럼 보이거나, makefile을 읽지 않은 것처럼 보입니다. 그게 가능하니?

제외 :

enter image description here

그래서 올바른 명령은 링커에 가고 있지만, 링커는 : 내가 편집기에서 파일을 열려면 콘솔 출력을 리디렉션하는 경우, 올바른 철자가 나타난다 깨진 파일 이름 찾기!

Download wxWidgets source code from https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.7z 

Unpack to a folder. On my system, I use C:\Users\James\code\wxwidgets-3.1.0 

Open a command window. 

cd to the code::blocks mingw folder. On my system this is C:\Program Files (x86)\CodeBlocks16\MinGW 

Type mingwvars.bat 

cd to wxwidgets folder. On my system C:\Users\James\code\wxwidgets-3.1.0 

cd to ./build/msw 

Type mingw32-make SHELL=CMD.exe -j4 -f makefile.gcc BUILD=release UNICODE=1 SHARED=0 MONOLITHIC=1 
+0

불행히도 빨간색 선이 파일 이름을 덮고 있습니다. 스크린 샷을 다시 만들 수 있습니까? – Igor

+0

@Igor은 적색선 바로 위에 있습니다. – ravenspoint

답변

2

이것은 하나 in the wiki을 언급 한 것과 같은 문제가 될 것 같습니다 :

여기에 내가 뭐하는 거지의 전체 조리법이다. 분명히 mingw32-make에는 매우 긴 명령 줄을 사용하여 문자를 먹는 버그 (때때로?)가 있습니다.

예. 게시 한 링크에 레시피를 적용하면 문제가 해결됩니다. 여기에 세부 사항은 다음과 같습니다

에서 :

ifeq ($(MONOLITHIC),1) 
ifeq ($(SHARED),0) 
$(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).a: $(MONOLIB_OBJECTS) 
    if exist [email protected] del [email protected] 
    ar rcu [email protected] gcc_mswu\\monolib*.o 
    ranlib [email protected] 
endif 
endif 
:

ifeq ($(MONOLITHIC),1) 
ifeq ($(SHARED),0) 
$(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).a: $(MONOLIB_OBJECTS) 
    if exist [email protected] del [email protected] 
    ar rcu [email protected] $(MONOLIB_OBJECTS) 
    ranlib [email protected] 
endif 
endif 

는 $ (MONOLIB_OBJECTS)의 두 번째 선두로부터 교체 gcc_mswu \ monolib * .o 인과

는 다음과 같은 makefile.gcc 수정

+0

귀하의 링크 전용 답변에 세부 정보를 추가했습니다. 이 변경이 wxwidgets 마스터에 적용되지 않은 이유는 무엇입니까? 나에게 몇 시간을 구했을 텐데! – ravenspoint

+0

이러한 메이크 파일은 자체적으로 와일드 카드를 생성 할 수없는 도구에 의해 생성됩니다. 또한, 와일드 카드를 사용하는 것은 잘못된 것입니다. 우리는 링크하고자하는 파일의 전체 목록을 가지고 있으며, 우리는이 파일을 사용할 수 있어야합니다. -이 버그가 아니라면 ... –

+0

이 수정본을 사용할 수 있도록 위키를 업데이트하는 방법 더 쉽게 발견? 대신 "문제를 해결하려면"입력 줄이 너무 깁니다. ""이 문제를 해결하려면 "해당 파일이나 디렉터리가 없습니다." " – ravenspoint