2011-09-08 3 views
0

저는 Linux에서 Cygwin으로 C++ 프로그램을 포팅하고 Boost Program Options (Boost 1.43)에 문제가 있습니다. 이 프로그램은 컴파일 및 Linux (1.44 부스트)에 잘 실행하지만, Cygwin에서 아래 응답 :Cygwin에서 Boost 프로그램 옵션을 사용하여 멈춤

/* prints */ 
std::cout << "positional options" << std::endl; 

variables_map v; 
store(command_line_parser(argc, argv) 
    .options(o).positional(p).allow_unregistered().run(), v); 

/* never prints */ 
std::cout << "stored vars" << std::endl; 

notify(v); 

어떤 아이디어? 필요한 경우 더 많은 정보를 제공 할 수 있습니다. (내가 추측해야만한다면, CPU 사용이 0 %로 여기에 I/O가 차단됨)

답변

0

내가 너라면, GDB를 사용했을 것이다.

경고의 단어 : 해킹이 아무리 똑똑해도 linux-> cygwin을 효율적으로 포팅 할 수없는 것들이 있습니다. 어느 시점에서 Windows에서 모든 내용을 다시 작성하는 데 실제로 시간을 절약 할 수 있는지 스스로에게 물어볼 필요가 있습니다.

+0

나는 그것에 대해 생각해 보았고 내 자신의 명령 행 옵션 파서를 작성하는 데 너무 오래 걸리지는 않았지만 Boost는 (이론적으로) 이미 이식되었습니다. 일부 사람들은 프로그램 옵션에 문제가 있다고 들었지만 Cygwin. 이 사건에 대한 해결 방법이 있는지 알고 싶습니다. – BruceIV