新手,编译时出了好多错,请高手帮忙,多谢了!!!
d:\jrtplib-3.0.2\src\rtpsources.h(150) : error C2440: 'specialization' : cannot convert from '' to 'int (__cdecl *)(const  &)'
        None of the functions with this name in scope match the target type
d:\jrtplib-3.0.2\src\rtpsources.h(150) : error C2975: 'RTPKeyHashTable' : invalid template argument for 'GetIndex', constant expression expected
        d:\jrtplib-3.0.2\src\rtpkeyhashtable.h(92) : see declaration of 'RTPKeyHashTable'
d:\jrtplib-3.0.2\src\rtpsources.h(150) : error C2079: 'sourcelist' uses undefined class 'RTPKeyHashTable<unsigned long const ,class RTPInternalSourceData *,0,8317>'
rtcpscheduler.cpp
d:\jrtplib-3.0.2\src\rtpsources.h(150) : error C2440: 'specialization' : cannot convert from '' to 'int (__cdecl *)(const  &)'
        None of the functions with this name in scope match the target type
d:\jrtplib-3.0.2\src\rtpsources.h(150) : error C2975: 'RTPKeyHashTable' : invalid template argument for 'GetIndex', constant expression expected
        d:\jrtplib-3.0.2\src\rtpkeyhashtable.h(92) : see declaration of 'RTPKeyHashTable'
d:\jrtplib-3.0.2\src\rtpsources.h(150) : error C2079: 'sourcelist' uses undefined class 'RTPKeyHashTable<unsigned long const ,class RTPInternalSourceData *,0,8317>'
rtppacketbuilder.cpp
d:\jrtplib-3.0.2\src\rtpsources.h(150) : error C2440: 'specialization' : cannot convert from '' to 'int (__cdecl *)(const  &)'
        None of the functions with this name in scope match the target type
d:\jrtplib-3.0.2\src\rtpsources.h(150) : error C2975: 'RTPKeyHashTable' : invalid template argument for 'GetIndex', constant expression expected
        d:\jrtplib-3.0.2\src\rtpkeyhashtable.h(92) : see declaration of 'RTPKeyHashTable'
d:\jrtplib-3.0.2\src\rtpsources.h(150) : error C2079: 'sourcelist' uses undefined class 'RTPKeyHashTable<unsigned long const ,class RTPInternalSourceData *,0,8317>'
rtppollthread.cpp
d:\jrtplib-3.0.2\src\rtpsources.h(150) : error C2440: 'specialization' : cannot convert from '' to 'int (__cdecl *)(const  &)'
        None of the functions with this name in scope match the target type
d:\jrtplib-3.0.2\src\rtpsources.h(150) : error C2975: 'RTPKeyHashTable' : invalid template argument for 'GetIndex', constant expression expected
        d:\jrtplib-3.0.2\src\rtpkeyhashtable.h(92) : see declaration of 'RTPKeyHashTable'
d:\jrtplib-3.0.2\src\rtpsources.h(150) : error C2079: 'sourcelist' uses undefined class 'RTPKeyHashTable<unsigned long const ,class RTPInternalSourceData *,0,8317>'
rtpsession.cpp
d:\jrtplib-3.0.2\src\rtpsources.h(150) : error C2440: 'specialization' : cannot convert from '' to 'int (__cdecl *)(const  &)'
        None of the functions with this name in scope match the target type
d:\jrtplib-3.0.2\src\rtpsources.h(150) : error C2975: 'RTPKeyHashTable' : invalid template argument for 'GetIndex', constant expression expected
        d:\jrtplib-3.0.2\src\rtpkeyhashtable.h(92) : see declaration of 'RTPKeyHashTable'
d:\jrtplib-3.0.2\src\rtpsources.h(150) : error C2079: 'sourcelist' uses undefined class 'RTPKeyHashTable<unsigned long const ,class RTPInternalSourceData *,0,8317>'
d:\jrtplib-3.0.2\src\rtpudpv4transmitter.h(161) : error C2440: 'specialization' : cannot convert from '' to 'int (__cdecl *)(const  &)'
        None of the functions with this name in scope match the target type
d:\jrtplib-3.0.2\src\rtpudpv4transmitter.h(161) : error C2975: 'RTPHashTable' : invalid template argument for 'GetIndex', constant expression expected
        d:\jrtplib-3.0.2\src\rtphashtable.h(88) : see declaration of 'RTPHashTable'
d:\jrtplib-3.0.2\src\rtpudpv4transmitter.h(161) : error C2079: 'destinations' uses undefined class 'RTPHashTable<class RTPIPv4Destination const ,0,8317>'
d:\jrtplib-3.0.2\src\rtpudpv4transmitter.h(163) : error C2440: 'specialization' : cannot convert from '' to 'int (__cdecl *)(const  &)'
        None of the functions with this name in scope match the target type
d:\jrtplib-3.0.2\src\rtpudpv4transmitter.h(163) : error C2975: 'RTPHashTable' : invalid template argument for 'GetIndex', constant expression expected

解决方案 »

  1.   

    d:\jrtplib-3.0.2\src\rtphashtable.h(88) : see declaration of 'RTPHashTable'
    d:\jrtplib-3.0.2\src\rtpudpv4transmitter.h(163) : error C2079: 'multicastgroups' uses undefined class 'RTPHashTable<unsigned long const ,0,8317>'
    d:\jrtplib-3.0.2\src\rtpudpv4transmitter.h(179) : error C2440: 'specialization' : cannot convert from '' to 'int (__cdecl *)(const  &)'
            None of the functions with this name in scope match the target type
    d:\jrtplib-3.0.2\src\rtpudpv4transmitter.h(179) : error C2975: 'RTPKeyHashTable' : invalid template argument for 'GetIndex', constant expression expected
            d:\jrtplib-3.0.2\src\rtpkeyhashtable.h(92) : see declaration of 'RTPKeyHashTable'
    d:\jrtplib-3.0.2\src\rtpudpv4transmitter.h(179) : error C2079: 'acceptignoreinfo' uses undefined class 'RTPKeyHashTable<unsigned long const ,class RTPUDPv4Transmitter::PortInfo *,0,8317>'
    d:\jrtplib-3.0.2\src\rtpsession.cpp(73) : warning C4355: 'this' : used in base member initializer list
    rtpsessionsources.cpp
    d:\jrtplib-3.0.2\src\rtpsources.h(150) : error C2440: 'specialization' : cannot convert from '' to 'int (__cdecl *)(const  &)'
            None of the functions with this name in scope match the target type
    d:\jrtplib-3.0.2\src\rtpsources.h(150) : error C2975: 'RTPKeyHashTable' : invalid template argument for 'GetIndex', constant expression expected
            d:\jrtplib-3.0.2\src\rtpkeyhashtable.h(92) : see declaration of 'RTPKeyHashTable'
    d:\jrtplib-3.0.2\src\rtpsources.h(150) : error C2079: 'sourcelist' uses undefined class 'RTPKeyHashTable<unsigned long const ,class RTPInternalSourceData *,0,8317>'
    rtpsources.cpp
    d:\jrtplib-3.0.2\src\rtpsources.h(150) : error C2440: 'specialization' : cannot convert from '' to 'int (__cdecl *)(const  &)'
            None of the functions with this name in scope match the target type
    d:\jrtplib-3.0.2\src\rtpsources.h(150) : error C2975: 'RTPKeyHashTable' : invalid template argument for 'GetIndex', constant expression expected
            d:\jrtplib-3.0.2\src\rtpkeyhashtable.h(92) : see declaration of 'RTPKeyHashTable'
    d:\jrtplib-3.0.2\src\rtpsources.h(150) : error C2079: 'sourcelist' uses undefined class 'RTPKeyHashTable<unsigned long const ,class RTPInternalSourceData *,0,8317>'
    d:\jrtplib-3.0.2\src\rtpsources.cpp(78) : error C2228: left of '.GotoFirstElement' must have class/struct/union type
    d:\jrtplib-3.0.2\src\rtpsources.cpp(79) : error C2228: left of '.HasCurrentElement' must have class/struct/union type
    d:\jrtplib-3.0.2\src\rtpsources.cpp(79) : fatal error C1903: unable to recover from previous error(s); stopping compilation
    rtpudpv4transmitter.cpp
    d:\jrtplib-3.0.2\src\rtpudpv4transmitter.h(161) : error C2440: 'specialization' : cannot convert from '' to 'int (__cdecl *)(const  &)'
            None of the functions with this name in scope match the target type
    d:\jrtplib-3.0.2\src\rtpudpv4transmitter.h(161) : error C2975: 'RTPHashTable' : invalid template argument for 'GetIndex', constant expression expected
            d:\jrtplib-3.0.2\src\rtphashtable.h(88) : see declaration of 'RTPHashTable'
    d:\jrtplib-3.0.2\src\rtpudpv4transmitter.h(161) : error C2079: 'destinations' uses undefined class 'RTPHashTable<class RTPIPv4Destination const ,0,8317>'
    d:\jrtplib-3.0.2\src\rtpudpv4transmitter.h(163) : error C2440: 'specialization' : cannot convert from '' to 'int (__cdecl *)(const  &)'
            None of the functions with this name in scope match the target type
    d:\jrtplib-3.0.2\src\rtpudpv4transmitter.h(163) : error C2975: 'RTPHashTable' : invalid template argument for 'GetIndex', constant expression expected
            d:\jrtplib-3.0.2\src\rtphashtable.h(88) : see declaration of 'RTPHashTable'
    d:\jrtplib-3.0.2\src\rtpudpv4transmitter.h(163) : error C2079: 'multicastgroups' uses undefined class 'RTPHashTable<unsigned long const ,0,8317>'
    d:\jrtplib-3.0.2\src\rtpudpv4transmitter.h(179) : error C2440: 'specialization' : cannot convert from '' to 'int (__cdecl *)(const  &)'
            None of the functions with this name in scope match the target type
    d:\jrtplib-3.0.2\src\rtpudpv4transmitter.h(179) : error C2975: 'RTPKeyHashTable' : invalid template argument for 'GetIndex', constant expression expected
            d:\jrtplib-3.0.2\src\rtpkeyhashtable.h(92) : see declaration of 'RTPKeyHashTable'
    d:\jrtplib-3.0.2\src\rtpudpv4transmitter.h(179) : error C2079: 'acceptignoreinfo' uses undefined class 'RTPKeyHashTable<unsigned long const ,class RTPUDPv4Transmitter::PortInfo *,0,8317>'
    d:\jrtplib-3.0.2\src\rtpudpv4transmitter.cpp(357) : error C2228: left of '.Clear' must have class/struct/union type
    d:\jrtplib-3.0.2\src\rtpudpv4transmitter.cpp(359) : error C2228: left of '.Clear' must have class/struct/union type
    d:\jrtplib-3.0.2\src\rtpudpv4transmitter.cpp(664) : error C2228: left of '.GotoFirstElement' must have class/struct/union type
    d:\jrtplib-3.0.2\src\rtpudpv4transmitter.cpp(665) : error C2228: left of '.HasCurrentElement' must have class/struct/union type
    d:\jrtplib-3.0.2\src\rtpudpv4transmitter.cpp(665) : fatal error C1903: unable to recover from previous error(s); stopping compilation
    Error executing cl.exe.jrtplib.lib - 47 error(s), 1 warning(s)
      

  2.   

    是不是因为没有装Microsoft SDK ?
    安装Microsoft SDK 设置tools->options...->Directories,增加C:\Program Files\Microsoft SDK\include,LIB中也相应增加
    以VC,jrtplib 3.1为例
    1.要包含这两个Ws2_32.lib jrtplib.lib
    2.头文件的目录包含(tools->options...->Directories,增加jrtplib头文件的目录)
    3.设置VC运行库(C/C++->CodeGeneration->Use Runtime library 选MultiThreaded DLL)
    4.rtpconfig_win.h 中的#define RTP_SUPPORT_THREAD这一行注释掉
      

  3.   

    vc6环境,你装sp6,再试试吧!