2013-10-02 6 views
2

, 나는 (표준 에러) 콘솔에 이러한 유형의 메시지를 많이 얻을 :QtJambi의 상세, 특히 QtDynamicMetaObjectPrivate

QtDynamicMetaObjectPrivate::QtDynamicMetaObjectPrivate(0x7f75805bfe90) initialize q->d=0x7f75806786e0 m_original_signatures[1]="actionNew()" 
QtDynamicMetaObjectPrivate::QtDynamicMetaObjectPrivate(0x7f75805bfe90) initialize q->d=0x7f75806786e0 m_original_signatures[2]="showAnalysisForm()" 
QtDynamicMetaObjectPrivate::QtDynamicMetaObjectPrivate(0x7f75805bfe90) initialize q->d=0x7f75806786e0 m_original_signatures[3]="actionOpen()" 
QtDynamicMetaObjectPrivate::QtDynamicMetaObjectPrivate(0x7f75805bfe90) initialize q->d=0x7f75806786e0 m_original_signatures[4]="actionSave()" 
QtDynamicMetaObjectPrivate::QtDynamicMetaObjectPrivate(0x7f75805bfe90) initialize q->d=0x7f75806786e0 m_original_signatures[5]="actionSaveAs()" 

함수 이름 (actionNew 등) Qt는 슬롯이 있습니다 내 프로그램에서. 그렇지만 왜 내가이 메시지를 볼 수 있습니까? 그렇다면 어떻게 제거해야합니까 (중요한 메시지를 숨기지 않도록)?

나는 qInstallMsgHandler과 비슷한 내용의 QMessageHandler을 설치했는데 몇 가지 경고 메시지가 표시되지만 위의 메시지는 내 메시지 처리기를 통과하지 못합니다.

+0

나는 이런 것을 보지 못했습니다. Jambi 트렁크 또는 어떤 버전을 사용하고 있습니까? 간단한 예제를 붙여 넣을 수 있습니까? – Smar

답변

2

이것은 디버깅에서 남은 코드 인 것으로 보입니다. .../qtjambi-qtjambi - 지역 사회 내에서/SRC/CPP/qtjambi/qtdynamicmetaobject.cpp 찾을 수 있습니다 :

for (int i=0; i<m_method_count + m_signal_count; ++i) { 
    jobject lr_string = env->GetObjectArrayElement(original_signatures, i); 
    m_original_signatures[i] = qtjambi_to_qstring(env, (jstring) lr_string); 
fprintf(stderr, "QtDynamicMetaObjectPrivate::QtDynamicMetaObjectPrivate(%p) initialize q->d=%p m_original_signatures[%d]=\"%s\"\n", this, &q->d, i, qPrintable(m_original_signatures[i])); 
#ifdef QTJAMBI_DEBUG_LOCALREF_CLEANUP 
    env->DeleteLocalRef(lr_string); 
#endif 
} 

아마도 새로운 다운로드 문제를 해결합니다. 또는 fprintf() 을 직접 삭제하고 다시 시도 할 수 있습니다.

+0

답장을 보내 주셔서 감사 드리며 응답 시간이 길어서 죄송합니다. 4.8.5-beta1을 다운로드하려고 시도했지만 충돌이 발생했습니다 (시스템 라이브러리와의 ABI 비 호환성, 디버깅 기호 없이는 많은 것을 알 수 없음). 자체 구축은 배포에는 도움이되지만 배포에는 도움이되지 않습니다. 어쩌면 qtjambi의 모든 동적 연결 라이브러리를 번들로 묶는 것이 갈 수있는 방법일까요? – dhardy

+0

기록 : 4.8.5의 디버그 빌드와 최신 qtcommunity 코드를 자체 빌드 한 후에도 여전히 이러한 메시지가 표시됩니다. – dhardy