Menu

some link errors using vs2005 to build mosaic

Y bob
2008-05-05
2013-05-30
  • Y bob

    Y bob - 2008-05-05

    hi,i built a project of mosaic.cc using visual c++ 2005 , and i got a lot link errors as below,but when i build the program written in
    "How to write a simple program with RAVL in Visual C++", there is no error occured,
    what should i do?
      
    thanks

    bob

    unresolved external symbol "bool __cdecl RavlN::OpenOSequenceBase(class RavlN::DPOPortBaseC &,class RavlN::DPSeekCtrlC &,class RavlN::StringC const &,class RavlN::StringC const &,class type_info const &,bool)" (?OpenOSequenceBase@RavlN@@YA_NAAVDPOPortBaseC@1@AAVDPSeekCtrlC@1@ABVStringC@1@2ABVtype_info@@_N@Z),该符号在函数"bool __cdecl RavlN::OpenOSequence<class RavlImageN::ImageC<class RavlImageN::ByteRGBValueC> >(class RavlN::DPOPortC<class RavlImageN::ImageC<class RavlImageN::ByteRGBValueC> > &,class RavlN::StringC const &,class RavlN::StringC const &,bool)" (??$OpenOSequence@V?$ImageC@VByteRGBValueC@RavlImageN@@@RavlImageN@@@RavlN@@YA_NAAV?$DPOPortC@V?$ImageC@VByteRGBValueC@RavlImageN@@@RavlImageN@@@0@ABVStringC@0@1_N@Z) 中被引用

    RavlImageProc.lib(MosaicBuilder.obj) : error LNK2019: unresolved external symbol "public: __thiscall RavlN::FitHomog2dPointsBodyC::FitHomog2dPointsBodyC(double,double)" (??0FitHomog2dPointsBodyC@RavlN@@QAE@NN@Z),该符号在函数"public: __thiscall RavlN::FitHomog2dPointsC::FitHomog2dPointsC(double,double)" (??0FitHomog2dPointsC@RavlN@@QAE@NN@Z) 中被引用

    RavlImageProc.lib(TrackingHomog.obj) : error LNK2001: unresolved external symbol "public: __thiscall RavlN::FitHomog2dPointsBodyC::FitHomog2dPointsBodyC(double,double)" (??0FitHomog2dPointsBodyC@RavlN@@QAE@NN@Z)

    RavlImageProc.lib(ImageMatcher.obj) : error LNK2001: unresolved external symbol "public: __thiscall RavlN::FitHomog2dPointsBodyC::FitHomog2dPointsBodyC(double,double)" (??0FitHomog2dPointsBodyC@RavlN@@QAE@NN@Z)
    RavlImageProc.lib(MosaicBuilder.obj) : error LNK2019: unresolved external symbol "bool __cdecl RavlN::OpenISequenceBase(class RavlN::DPIPortBaseC &,class RavlN::DPSeekCtrlC &,class RavlN::StringC const &,class RavlN::StringC const &,class type_info const &,bool)" (?OpenISequenceBase@RavlN@@YA_NAAVDPIPortBaseC@1@AAVDPSeekCtrlC@1@ABVStringC@1@2ABVtype_info@@_N@Z),该符号在函数"bool __cdecl RavlN::OpenISequence<class RavlImageN::ImageC<class RavlImageN::ByteRGBValueC> >(class RavlN::DPISPortC<class RavlImageN::ImageC<class RavlImageN::ByteRGBValueC> > &,class RavlN::StringC const &,class RavlN::StringC const &,bool)" (??$OpenISequence@V?$ImageC@VByteRGBValueC@RavlImageN@@@RavlImageN@@@RavlN@@YA_NAAV?$DPISPortC@V?$ImageC@VByteRGBValueC@RavlImageN@@@RavlImageN@@@0@ABVStringC@0@1_N@Z) 中被引用
    RavlImageProc.lib(TrackingHomog.obj) : error LNK2019: unresolved external symbol "public: __thiscall RavlN::EvaluateNumInliersBodyC::EvaluateNumInliersBodyC(double,double)" (??0EvaluateNumInliersBodyC@RavlN@@QAE@NN@Z),该符号在函数"public: __thiscall RavlN::EvaluateNumInliersC::EvaluateNumInliersC(double,double)" (??0EvaluateNumInliersC@RavlN@@QAE@NN@Z) 中被引用
    RavlImageProc.lib(ImageMatcher.obj) : error LNK2001: unresolved external symbol "public: __thiscall RavlN::EvaluateNumInliersBodyC::EvaluateNumInliersBodyC(double,double)" (??0EvaluateNumInliersBodyC@RavlN@@QAE@NN@Z)
    RavlImageProc.lib(TrackingHomog.obj) : error LNK2019: unresolved external symbol "public: bool __thiscall RavlN::LevenbergMarquardtC::Iteration(class RavlN::DListC<class RavlN::ObservationC>,double,bool)" (?Iteration@LevenbergMarquardtC@RavlN@@QAE_NV?$DListC@VObservationC@RavlN@@@2@N_N@Z),该符号在函数__catch$?Apply@TrackingHomogBodyC@RavlImageN@@QAE?AVProjection2dC@RavlN@@ABV?$ImageC@E@2@@Z$0 中被引用
    RavlImageProc.lib(ImageMatcher.obj) : error LNK2001: unresolved external symbol "public: bool __thiscall RavlN::LevenbergMarquardtC::Iteration(class RavlN::DListC<class RavlN::ObservationC>,double,bool)" (?Iteration@LevenbergMarquardtC@RavlN@@QAE_NV?$DListC@VObservationC@RavlN@@@2@N_N@Z)
    RavlImageProc.lib(TrackingHomog.obj) : error LNK2019: unresolved external symbol "public: __thiscall RavlN::LevenbergMarquardtC::LevenbergMarquardtC(class RavlN::StateVectorC &,class RavlN::DListC<class RavlN::ObservationC>)" (??0LevenbergMarquardtC@RavlN@@QAE@AAVStateVectorC@1@V?$DListC@VObservationC@RavlN@@@1@@Z),该符号在函数__catch$?Apply@TrackingHomogBodyC@RavlImageN@@QAE?AVProjection2dC@RavlN@@ABV?$ImageC@E@2@@Z$0 中被引用
    RavlImageProc.lib(ImageMatcher.obj) : error LNK2001: unresolved external symbol "public: __thiscall RavlN::LevenbergMarquardtC::LevenbergMarquardtC(class RavlN::StateVectorC &,class RavlN::DListC<class RavlN::ObservationC>)" (??0LevenbergMarquardtC@RavlN@@QAE@AAVStateVectorC@1@V?$DListC@VObservationC@RavlN@@@1@@Z)
    RavlImageProc.lib(TrackingHomog.obj) : error LNK2019: unresolved external symbol "public: bool __thiscall RavlN::RansacC::ProcessSample(unsigned int)" (?ProcessSample@RansacC@RavlN@@QAE_NI@Z),该符号在函数"public: class RavlN::Projection2dC __thiscall RavlImageN::TrackingHomogBodyC::Apply(class RavlImageN::ImageC<unsigned char> const &)" (?Apply@TrackingHomogBodyC@RavlImageN@@QAE?AVProjection2dC@RavlN@@ABV?$ImageC@E@2@@Z) 中被引用
    RavlImageProc.lib(ImageMatcher.obj) : error LNK2001: unresolved external symbol "public: bool __thiscall RavlN::RansacC::ProcessSample(unsigned int)" (?ProcessSample@RansacC@RavlN@@QAE_NI@Z)
    RavlImageProc.lib(TrackingHomog.obj) : error LNK2019: unresolved external symbol "public: __thiscall RavlN::RansacC::RansacC(class RavlN::ObservationManagerC &,class RavlN::FitToSampleC &,class RavlN::EvaluateSolutionC &)" (??0RansacC@RavlN@@QAE@AAVObservationManagerC@1@AAVFitToSampleC@1@AAVEvaluateSolutionC@1@@Z),该符号在函数"public: class RavlN::Projection2dC __thiscall RavlImageN::TrackingHomogBodyC::Apply(class RavlImageN::ImageC<unsigned char> const &)" (?Apply@TrackingHomogBodyC@RavlImageN@@QAE?AVProjection2dC@RavlN@@ABV?$ImageC@E@2@@Z) 中被引用
    RavlImageProc.lib(ImageMatcher.obj) : error LNK2001: unresolved external symbol "public: __thiscall RavlN::RansacC::RansacC(class RavlN::ObservationManagerC &,class RavlN::FitToSampleC &,class RavlN::EvaluateSolutionC &)" (??0RansacC@RavlN@@QAE@AAVObservationManagerC@1@AAVFitToSampleC@1@AAVEvaluateSolutionC@1@@Z)
    RavlImageProc.lib(TrackingHomog.obj) : error LNK2019: unresolved external symbol "public: __thiscall RavlN::ObservationListManagerBodyC::ObservationListManagerBodyC(class RavlN::DListC<class RavlN::ObservationC>)" (??0ObservationListManagerBodyC@RavlN@@QAE@V?$DListC@VObservationC@RavlN@@@1@@Z),该符号在函数"public: __thiscall RavlN::ObservationListManagerC::ObservationListManagerC(class RavlN::DListC<class RavlN::ObservationC>)" (??0ObservationListManagerC@RavlN@@QAE@V?$DListC@VObservationC@RavlN@@@1@@Z) 中被引用
    RavlImageProc.lib(ImageMatcher.obj) : error LNK2001: unresolved external symbol "public: __thiscall RavlN::ObservationListManagerBodyC::ObservationListManagerBodyC(class RavlN::DListC<class RavlN::ObservationC>)" (??0ObservationListManagerBodyC@RavlN@@QAE@V?$DListC@VObservationC@RavlN@@@1@@Z)
    RavlImageProc.lib(TrackingHomog.obj) : error LNK2019: unresolved external symbol "public: __thiscall RavlN::ObservationHomog2dPointBodyC::ObservationHomog2dPointBodyC(class RavlN::Vector2dC const &,class RavlN::MatrixRSC const &,class RavlN::Vector2dC const &,class RavlN::MatrixRSC const &)" (??0ObservationHomog2dPointBodyC@RavlN@@QAE@ABVVector2dC@1@ABVMatrixRSC@1@01@Z),该符号在函数"public: __thiscall RavlN::ObservationHomog2dPointC::ObservationHomog2dPointC(class RavlN::Vector2dC const &,class RavlN::MatrixRSC const &,class RavlN::Vector2dC const &,class RavlN::MatrixRSC const &)" (??0ObservationHomog2dPointC@RavlN@@QAE@ABVVector2dC@1@ABVMatrixRSC@1@01@Z) 中被引用
    RavlImageProc.lib(ImageMatcher.obj) : error LNK2001: unresolved external symbol "public: __thiscall RavlN::ObservationHomog2dPointBodyC::ObservationHomog2dPointBodyC(class RavlN::Vector2dC const &,class RavlN::MatrixRSC const &,class RavlN::Vector2dC const &,class RavlN::MatrixRSC const &)" (??0ObservationHomog2dPointBodyC@RavlN@@QAE@ABVVector2dC@1@ABVMatrixRSC@1@01@Z)
    RavlImageProc.lib(TrackingHomog.obj) : error LNK2019: unresolved external symbol "public: class RavlN::Matrix3dC const __thiscall RavlN::StateVectorHomog2dBodyC::GetHomog(void)const " (?GetHomog@StateVectorHomog2dBodyC@RavlN@@QBE?BVMatrix3dC@2@XZ),该符号在函数"public: class RavlN::Matrix3dC const __thiscall RavlN::StateVectorHomog2dC::GetHomog(void)const " (?GetHomog@StateVectorHomog2dC@RavlN@@QBE?BVMatrix3dC@2@XZ) 中被引用
    RavlImageProc.lib(ImageMatcher.obj) : error LNK2001: unresolved external symbol "public: class RavlN::Matrix3dC const __thiscall RavlN::StateVectorHomog2dBodyC::GetHomog(void)const " (?GetHomog@StateVectorHomog2dBodyC@RavlN@@QBE?BVMatrix3dC@2@XZ)
    D:\WorkStation\SomeTest\RavlTest2\Debug\RavlTest.exe : fatal error LNK1120: 11 unresolved external symbols

     
    • Charles Galambos

      Hi,

      Assuming you've added the mosaic to the RAVL project, you need to set the mosaic 'project dependencies'. To get the mosaic program to link you need to add:

      RavlCore
      RavlExtImgIO
      RavlImageIO
      RavlImageProc
      RavlVideo
      RavlVideoIO

      I haven't tried running the resulting executable, so let me know how you get on.

      Cheers,
      Charles.

       
      • Y bob

        Y bob - 2008-05-07

        hi,Cheers,Charles.

        Thanks a lot for your help.

        all the link errors gone,after i set 'project dependencies' and added two libs RavlOptimise.lib,RavlOSIO.lib

        but i got a little trouble,
        it said (  Failed to open input sequence 'stefan_sequence.yuv' )
        i set the variant "ifn" in mosaic as below
        StringC ifn = opt.String("","stefan_sequence2.yuv","Input sequence. ");
        what should i do

        thanks in advance!

        bob

         
    • Charles Galambos

      stefan_sequence.yuv is the video used as input to the program. Its not
      included in the RAVL distribution. Do you have some video you want to
      mosaic ?

       
      • Y bob

        Y bob - 2008-05-07

        yes,"stefan_sequence.yuv" is the  video  I want to mosaic
        and I set the variant ifn in mosaic.cc as below
        StringC ifn = opt.String("","stefan_sequence","Input sequence. ");
        but the executable said : Failed to open input sequence `stefan_sequence'

         
      • Y bob

        Y bob - 2008-05-07

        i downloaded "stefan_sequence.avi" from "http://profs.sci.univr.it/~fusiello/demo/snt/"
        and convert the avi file to yuv file
        but the mosaic program was unable the load it

        Maybe the mosaic.cc only can load rgb format...

         

Log in to post a comment.