2016-11-14 4 views
0

내가 아치 리눅스 ARM과 ROS 인디고를 사용하고 있는데 내가 패키지를 설치하기 위해 노력하고있어 ROS-인디고 QT-GUI에 대한 호출에 대한 일치하는 기능 -cpp AUR에서.오류 : 'sipqt_gui_cpp_RosPluginlibPluginProvider_ForPlugins :: connectNotify (CONST의 char *)'

 

[ 85%] Compiling generated code for qt_gui_cpp_sip Python bindings... 
/home/hiago/packages/qt_gui_core-release-release-indigo-qt_gui_cpp-0.2.30-0/src/build/sip/qt_gui_cpp_sip/siplibqt_gui_cpp_sipqt_gui_cppRosPluginlibPluginProvider_ForPlugins.cpp: In member function ‘void sipqt_gui_cpp_RosPluginlibPluginProvider_ForPlugins::disconnectNotify(const char*)’: 
/home/hiago/packages/qt_gui_core-release-release-indigo-qt_gui_cpp-0.2.30-0/src/build/sip/qt_gui_cpp_sip/siplibqt_gui_cpp_sipqt_gui_cppRosPluginlibPluginProvider_ForPlugins.cpp:183:79: error: no matching function for call to ‘sipqt_gui_cpp_RosPluginlibPluginProvider_ForPlugins::disconnectNotify(const char*&)’ 
     qt_gui_cpp::RosPluginlibPluginProvider_ForPlugins::disconnectNotify(a0); 
                      ^
In file included from /usr/include/qt/QtCore/qthread.h:43:0, 
       from /usr/include/qt/QtCore/QThread:1, 
       from sipAPIlibqt_gui_cpp_sip.h:14, 
       from siplibqt_gui_cpp_sipqt_gui_cppRosPluginlibPluginProvider_ForPlugins.cpp:7: 
/usr/include/qt/QtCore/qobject.h:436:18: note: candidate: virtual void QObject::disconnectNotify(const QMetaMethod&) 
    virtual void disconnectNotify(const QMetaMethod &signal); 
        ^~~~~~~~~~~~~~~~ 
/usr/include/qt/QtCore/qobject.h:436:18: note: no known conversion for argument 1 from ‘const char*’ to ‘const QMetaMethod&’ 
/home/hiago/packages/qt_gui_core-release-release-indigo-qt_gui_cpp-0.2.30-0/src/build/sip/qt_gui_cpp_sip/siplibqt_gui_cpp_sipqt_gui_cppRosPluginlibPluginProvider_ForPlugins.cpp: In member function ‘void sipqt_gui_cpp_RosPluginlibPluginProvider_ForPlugins::connectNotify(const char*)’: 
/home/hiago/packages/qt_gui_core-release-release-indigo-qt_gui_cpp-0.2.30-0/src/build/sip/qt_gui_cpp_sip/siplibqt_gui_cpp_sipqt_gui_cppRosPluginlibPluginProvider_ForPlugins.cpp:201:76: error: no matching function for call to ‘sipqt_gui_cpp_RosPluginlibPluginProvider_ForPlugins::connectNotify(const char*&)’ 
     qt_gui_cpp::RosPluginlibPluginProvider_ForPlugins::connectNotify(a0); 
                      ^
In file included from /usr/include/qt/QtCore/qthread.h:43:0, 
       from /usr/include/qt/QtCore/QThread:1, 
       from sipAPIlibqt_gui_cpp_sip.h:14, 
       from siplibqt_gui_cpp_sipqt_gui_cppRosPluginlibPluginProvider_ForPlugins.cpp:7: 
/usr/include/qt/QtCore/qobject.h:435:18: note: candidate: virtual void QObject::connectNotify(const QMetaMethod&) 
    virtual void connectNotify(const QMetaMethod &signal); 
        ^~~~~~~~~~~~~ 
/usr/include/qt/QtCore/qobject.h:435:18: note: no known conversion for argument 1 from ‘const char*’ to ‘const QMetaMethod&’ 
/home/hiago/packages/qt_gui_core-release-release-indigo-qt_gui_cpp-0.2.30-0/src/build/sip/qt_gui_cpp_sip/siplibqt_gui_cpp_sipqt_gui_cppRosPluginlibPluginProvider_ForPlugins.cpp: In member function ‘void sipqt_gui_cpp_RosPluginlibPluginProvider_ForPlugins::sipProtectVirt_connectNotify(bool, const char*)’: 
/home/hiago/packages/qt_gui_core-release-release-indigo-qt_gui_cpp-0.2.30-0/src/build/sip/qt_gui_cpp_sip/siplibqt_gui_cpp_sipqt_gui_cppRosPluginlibPluginProvider_ForPlugins.cpp:432:47: error: no matching function for call to ‘sipqt_gui_cpp_RosPluginlibPluginProvider_ForPlugins::connectNotify(const char*&)’ 
    (sipSelfWasArg ? QObject::connectNotify(a0) : connectNotify(a0)); 
              ^
In file included from /usr/include/qt/QtCore/qthread.h:43:0, 
       from /usr/include/qt/QtCore/QThread:1, 
       from sipAPIlibqt_gui_cpp_sip.h:14, 
       from siplibqt_gui_cpp_sipqt_gui_cppRosPluginlibPluginProvider_ForPlugins.cpp:7: 
/usr/include/qt/QtCore/qobject.h:435:18: note: candidate: virtual void QObject::connectNotify(const QMetaMethod&) 
    virtual void connectNotify(const QMetaMethod &signal); 
        ^~~~~~~~~~~~~ 
/usr/include/qt/QtCore/qobject.h:435:18: note: no known conversion for argument 1 from ‘const char*’ to ‘const QMetaMethod&’ 
/home/hiago/packages/qt_gui_core-release-release-indigo-qt_gui_cpp-0.2.30-0/src/build/sip/qt_gui_cpp_sip/siplibqt_gui_cpp_sipqt_gui_cppRosPluginlibPluginProvider_ForPlugins.cpp: In member function ‘void sipqt_gui_cpp_RosPluginlibPluginProvider_ForPlugins::sipProtectVirt_disconnectNotify(bool, const char*)’: 
/home/hiago/packages/qt_gui_core-release-release-indigo-qt_gui_cpp-0.2.30-0/src/build/sip/qt_gui_cpp_sip/siplibqt_gui_cpp_sipqt_gui_cppRosPluginlibPluginProvider_ForPlugins.cpp:437:50: error: no matching function for call to ‘sipqt_gui_cpp_RosPluginlibPluginProvider_ForPlugins::disconnectNotify(const char*&)’ 
    (sipSelfWasArg ? QObject::disconnectNotify(a0) : disconnectNotify(a0)); 
               ^
In file included from /usr/include/qt/QtCore/qthread.h:43:0, 
       from /usr/include/qt/QtCore/QThread:1, 
       from sipAPIlibqt_gui_cpp_sip.h:14, 
       from siplibqt_gui_cpp_sipqt_gui_cppRosPluginlibPluginProvider_ForPlugins.cpp:7: 
/usr/include/qt/QtCore/qobject.h:436:18: note: candidate: virtual void QObject::disconnectNotify(const QMetaMethod&) 
    virtual void disconnectNotify(const QMetaMethod &signal); 
        ^~~~~~~~~~~~~~~~ 
/usr/include/qt/QtCore/qobject.h:436:18: note: no known conversion for argument 1 from ‘const char*’ to ‘const QMetaMethod&’ 
make[3]: *** [Makefile:18: siplibqt_gui_cpp_sipqt_gui_cppRosPluginlibPluginProvider_ForPlugins.o] Error 1 
make[2]: *** [src/qt_gui_cpp_sip/CMakeFiles/libqt_gui_cpp_sip.dir/build.make:61: devel/lib/python2.7/site-packages/qt_gui_cpp/libqt_gui_cpp_sip.so] Error 2 
make[1]: *** [CMakeFiles/Makefile2:375: src/qt_gui_cpp_sip/CMakeFiles/libqt_gui_cpp_sip.dir/all] Error 2 
make: *** [Makefile:128: all] Error 2 
==> ERROR: A failure occurred in build(). 
    Aborting... 

내가 마지막 4 시간 동안 인터넷 검색을 봤는데 용액이나 심지어 단서를 확보하지 못했 : 다음

그러나 다음과 같은 오류가 나타납니다. 아마도이 오류와 관련이 있다는 사실을 발견 한 것은 너무 많은 도움이되지 못했습니다. 나는 '

내가 문제가 있지만 성공을 해결하기 위해 목표로 qobject.h 파일을 통해 갔어요 (... 난 C++에 매우 초보자, 그래서 난 내 최선을 다했습니다) 강력하게 도움이 필요합니다.

정보가 충분하지 않은 경우 알려주십시오. 그런 다음이 문제를 해결하는 데 필요한 기타 정보 또는 코드를 제공합니다.

미리 감사드립니다.

답변

1

패키지 (모든 ROS Indigo 패키지와 마찬가지로)는 Qt4를 필요로합니다. sip-dev에 의해 생성 된 코드는 실제로 Qt4 (connectNotify(const char * signal) 사용)이지만 Qt5 (함수가 connectNotify(const QMetaMethod & signal)으로 바뀌 었음) 용으로 컴파일하므로 오류 메시지입니다.

한 가지 해결책은 단순히 Qt5를 Qt4로 다운 그레이드하는 것일 수 있습니다. 또는 기본 Qt 버전을 선택하는 방법은 https://wiki.archlinux.org/index.php/Qt을 참조하십시오.

+0

P.: 아치의 사용이 어떠한 이유로 든 돌로 설정되지 않은 경우, 모든 버전이 ROS 인디고에 적합하며 변경되지 않으므로 우분투 14.04로 전환하는 것이 더 쉬울 수 있습니다. – dseifert

+0

'qt5-base' 패키지를 제거했으며'qt4'가 이미 설치되었습니다. 그럼 난 실행 않았다 ** Makepkg ** 다시하지만 지금은 새로운 오류 보여주는 것 : 7 : 0 : sipAPIlibqt_gui_cpp_sip.h : 13 : 21 : 파일에서 이'siplibqt_gui_cpp_sipqt_gui_cppRosPluginlibPluginProvider_ForPlugins.cpp에서 포함 치명적인 오류 : QMetaType : 해당 파일 또는 디렉토리 #include ^'. –

+0

환경 변수'export QT_SELECT = 4' (https://wiki.archlinux.org/index.php/Qt에서 볼 수 있듯이)를 설정했으나 아무것도하지 않았습니다. 이 변경을 수행하는 것조차 보이지만, 빌드가 qt5 대신 qt4를 사용해야한다는 것을 인식하지 못합니다. 나는 지금 어디로 가야할지 모른다. –