2013-08-19 2 views
1

나는 프로그램을 컴파일 한 후 작동합니다. 하지만 tkinter를 사용하고이 프로그램을 컴파일하고 싶습니다.Windows에서 콘솔이없는 Cython

내 명령 :

cython.exe --embed file.py -o file.c

gcc.exe file.c -o file -I C:/Python27/include -L C:/Python/libs -lpython27

나는 Cygwin에서와 mingw32를 사용하고 난 창문에입니다.

내 프로그램이 작동하지만 Windows 콘솔이 있고 그 콘솔을 원하지 않습니다.

내 연구는 pythonw.exe가 콘솔을 시작하지 않는다는 것을 알았고, py2exe가 이것을 사용한다고 생각하지만, 하나의 파일을 원한다. 나는 그것을 위해 cython을 사용한다.

pythonw.exe를 python.exe가 아닌 cython으로 시작할 수 있습니까? 아니면 콘솔을 비활성화 할 수 있습니까? 어떻게?

미리 감사드립니다.

답변

0

링크 단계에서 gcc 명령 줄에 -Wl,--subsystem,windows을 추가하십시오. 귀하의 경우 :

gcc -o file file.c -I c:/Python27/include -L c:/Python27/libs -lpython27 -Wl,--subsystem,windows 

이 콘솔 창없이 실행되는 실행 파일을 생성합니다 링커에 --subsystem windows 함께 전달합니다.

+0

답장을 보내 주시면 감사하겠습니다. 하지만 지금은 두 가지 문제가 있습니다 ... 다른 컴퓨터에서 그는 python27.dll을 원하지만 libpython27.a 등을 만들었습니다 ... 어떻게? 그리고, 내가 python27.dll을 설치했을 때, 그는 아무런 에러 메시지도없고 아무런 프로그램도 작동하지 않았다 ... – Gadgetroch

+0

다른 컴퓨터에 배치하려고한다면, 모든 의존성을 추적하기가 까다로워진다. c : \ windows \ system32 \ python27.dll (c : \ windows \ syswow64 \ python27.dll에서 찾을 수 있음)의 버전을 복사하여 .exe와 같은 폴더에 넣으십시오. 또한 c : \ python27 \ DLLs \에있는 모든 파일을 복사하여 동일한 폴더에 저장하십시오. (DLLs 하위 폴더에는 없습니다.) c : \ python27 \ lib \에 대해서도 같은 작업을 수행하십시오 (하위 폴더가 아닌 동일한 폴더에 있음). – mkimball

+0

하나의 독립 실행 형 프로그램에 대해이 파일을 모두 내 exe에서 컴파일 할 수 있습니까? 어떤 명령으로? gcc 명령을 제발 주시겠습니까? – Gadgetroch