2011-02-24 3 views
0

scons-qt4 플러그인을 사용하여 Windows를 구축 할 때 내 응용 프로그램은 자체 창을 가지고 있더라도 항상 콘솔 창을 엽니 다. QMake를 사용하면 CONFIG + = console 또는 비슷한 것을 추가하여 응용 프로그램이 동일하게 수행하도록 할 수 있지만 기본 동작은이를 억제하는 것입니다. QMake는 그것을 처리 할 수 ​​있습니다 - 나는 scons도 할 수 있다고 확신합니다.scons-qt4 플러그인을 사용할 때 Windows에서 콘솔 창을 숨기는 방법은 무엇입니까?

#ifdef WIN32 
int WinMain (int _argc, char **_argv) 
#else 
int main (int _argc, char **_argv) 
#endif 

하지만 그건 그냥 가증입니다 :

나는이 문제를 해결하기 위해 지금까지 볼 수있는 유일한 방법은() #ifdef와 주변 INT 주요 사용하는 것입니다!

답변

0

내 질문에 거의 대답했습니다. here. 이제 SCons는 적용이 두 라인은 나를 위해 그것을 한면 : [SCons는 사용자] 메일 링리스트에있는 사람들에

또한
if (env ['PLATFORM'] == 'win32'): 
    env.Append (LINKFLAGS = ['-Wl,-subsystem,windows']) 

, 종류 감사합니다. 특히, 데이비드 반 마렌는 지적이 :

당신은 당신이 qtmain 라이브러리에 대한 연결 여부를 찾을 수 있습니다. 최신 Qt는 문서는 단지 그것에 대해 이 말한다 :

--------------- qtmain 라이브러리가

qtmain가 개발자를 가능하게하는 도우미 라이브러리를 작성하는 것입니다 크로스 플랫폼 메인() 기능은 Windows 및 Symbian 플랫폼에 있습니다. qake를 사용하지 않거나 CMake와 같은 도구 을 사용하지 않는 경우 이 theqtmain 라이브러리와 연결되어야합니다.


그것은 관련이되지 않을 수 있습니다,하지만 난 한 번 내가 링크에 추가 에서, 가짜 콘솔이 우리의 Qt를 GUI 애플리케이션을 위해 사라 생각 .

예를 들어 프로그램이 GCC + MinGW가 아닌 다른 도구로 컴파일 될 때이 문제를 해결할 수있는 또 다른 방법 일 수 있습니다.