Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

libplist - Cannot compile Windows - linking errors

#279

Hello. I am compiling on Windows XP 32 bit with MSYS (MINGW GCC 4.7.0), but I am getting linking errors.

The log can be seen here: http://pastebin.com/Vde0B2YB (or attached)

I've also did the following (to test for the undefined references): nm src/libplist.dll.a | grep _plist_new_bool , and it didn't return anything. It seems that only the libplist.dll conatins that method. I've tried using that instead of the .dll.a when linking but to no avail :(

Thanks,
Timo

Reported by Timotei · August 15th, 2012 @ 08:10 PM

State: new
Milestone: none
Assigned to: nobody

Activity

  1. salusa
    salusa

    what's your plist library version?
    i'm use 1.8 version and
    perfectly compiled.

    August 22nd, 2012 @ 02:55 AM

  2. Timotei
    Timotei

    I am using the latest libplist from git: http://cgit.sukimashita.com/libplist.git/ Commit fee6a9eacd62ddc7ce969413dd4083d4f4804120 (HEAD)

    August 22nd, 2012 @ 05:06 PM

  3. Timotei
    Timotei

    I am coming with more details after an investigation.

    Basically, it uses this command to do the linking: cd /Z/mobile_win/external/libplist/build/src && /C/MinGW/bin/g++.exe -shared -o libplist++.dll -Wl,--out-implib,libplist++.dll.a -Wl,--major-image-version,1,--minor-image-version,1 -Wl,--whole-archive CMakeFiles/plist++.dir/objects.a -Wl,--no-whole-archive libplist.dll.a /C/MinGW/msys/1.0/lib/libxml2.dll.a -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32

    I've looked inside the libplist.dll.a file (the static library specified to the g++) and grepped after `_plist_free', but couldn't find ANYTHING:

    $ nm libplist.dll.a | grep '_plist_free'

    On the other hand, libplist.dll CONTAINS the required symbols.
    I've also looked inside the object.a (from plist.dir) and they CONTAIN the required plist* symbols. If in the previous command line, I replace the 'libplist.dll.a' with: 'CMakeFiles/plist.dir/objects.a' WILL COMPILE the .dll for libplist++.

    Could you shed any light on this?

    August 30th, 2012 @ 04:08 PM

  4. Timotei

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.