Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#231 libmsvfw32.a or libvfw32.a

closed-fixed
nobody
None
5
2011-07-23
2011-07-21
Eugen Dedu
No

Hi,

I am compiling opal and during linking with -lvfw32 I receive the error vfw32 library not found. I see that there is a library called -lmsvfw32.a and when I use a symbolic link from libvfw32.a to libmsvfw32.a, opal linking works.

This error does not appear with mingw32. Also, I am pretty sure that the same code compiled with mingw-w64 2-3 months ago, when I used 1.0+20101003 probably. Now I use 1.0+20110523. I use debian. I imagine this was done on purpose, but I do not understand why.

Hope this information is useful to you, do not hesitate to contact me for more information.

Discussion

  • Ozkan Sezer
    Ozkan Sezer
    2011-07-21

    Hmm, w32api/Makefile.in of mingw32 says:

    # libvfw32.a contains import stubs for 3 dll's. Using an MRI script
    # seems to be the simplest way to combine them into one archive.
    # NB: With older dlltool, the object file members will not have unique
    # names.
    libvfw32.a : vfw32.mri libmsvfw32.a libavifil32.a libavicap32.a
    rm -f $@
    $(AR) -M < ${word 1,$^}
    $(RANLIB) $@

    vfw32.mri contents are these:

    CREATE libvfw32.a
    ADDLIB libmsvfw32.a
    ADDLIB libavicap32.a
    ADDLIB libavifil32.a
    SAVE
    END

    ... meaning that libvfw32.a is a wrapper for those three libraries, as I
    understand it.

    Besides, new windows versions doesn't provide a vfw32.dll, therefore,
    using -lmsvfw32 makes more sense IMO.

    OTOH, we do have the same lib32/vfw32.mri but we have never used it to
    generate a libvfw32.a Not sure why, probably oversight. Others may have
    more to say on the matter.

     
  • Eugen Dedu
    Eugen Dedu
    2011-07-22

    There is something I do not understand: isn't libvfw32 a "standard" library name on Windows?! If yes, why rename it on mingw-w64? This would break all applications using that name.

     
  • Ozkan Sezer
    Ozkan Sezer
    2011-07-22

    Yes, vfw32.lib is an MSVC import library. We didn't rename anything. That we haven't been generating it is just an oversight. A patch is already posted for review. Will apply when Kai approves it.

     
  • Ozkan Sezer
    Ozkan Sezer
    2011-07-22

    patch for build system to generate libvfw32.a

     
    Attachments
  • Eugen Dedu
    Eugen Dedu
    2011-07-22

    Ok, thank you, I misunderstood your comment then.

     
  • Ozkan Sezer
    Ozkan Sezer
    2011-07-23

    This is fixed in the svn release branch as of rev. 4288 and in the trunk as of rev. 4289. Closing as fixed.

     
  • Ozkan Sezer
    Ozkan Sezer
    2011-07-23

    • status: open --> closed-fixed