[xmlsec] AW: xmlsec: Problems with WIN32 system

Sascha Breite s.breite@3c-systems.de
Fri, 21 Jun 2002 09:11:47 +0200


Hi,

yes, there are some troubles I've had to work with win32 system. I created a
new project and added the xmlsec sources and headers. It compiles fine,
except some warnings. But you have to keep care about compiling (coming from
OpenSSL but it's still the same for xmlsec):

This is usually because you've missed the comment in INSTALL.W32.
Your application must link against the same version of the Win32
C-Runtime against which your openssl libraries were linked.  The
default version for OpenSSL is /MD - "Multithreaded DLL".

If you are using Microsoft Visual C++'s IDE (Visual Studio), in
many cases, your new project most likely defaulted to "Debug
Singlethreaded" - /ML.  This is NOT interchangeable with /MD and your
program will crash, typically on the first BIO related read or write
operation.

For each of the six possible link stage configurations within Win32,
your application must link  against the same by which OpenSSL was
built.  If you are using MS Visual C++ (Studio) this can be changed
by:

1.  Select Settings... from the Project Menu.
2.  Select the C/C++ Tab.
3.  Select "Code Generation from the "Category" drop down list box
4.  Select the Appropriate library (see table below) from the "Use
    run-time library" drop down list box.  Perform this step for both
    your debug and release versions of your application (look at the
    top left of the settings panel to change between the two)

    Single Threaded           /ML        -  MS VC++ often defaults to
                                            this for the release
                                            version of a new project.
    Debug Single Threaded     /MLd       -  MS VC++ often defaults to
                                            this for the debug version
                                            of a new project.
    Multithreaded             /MT
    Debug Multithreaded       /MTd
    Multithreaded DLL         /MD        -  OpenSSL defaults to this.
    Debug Multithreaded DLL   /MDd

Note that debug and release libraries are NOT interchangeable.  If you
built OpenSSL with /MD your application must use /MD and cannot use /MDd.

Greetings,

Sascha


-----Ursprüngliche Nachricht-----
Von: lidia castillejo marco [mailto:lidia.castillejo01@campus.upf.es]
Gesendet: Donnerstag, 20. Juni 2002 23:45
An: s.breite@3c-systems.de
Betreff: xmlsec


Hi,
I read in http://bugzilla.gnome.org/ that you are using xmlsec library under
win32 system.
I'm working too under win32 but i have many problems.
I'm working in Visual C++ and I have many unresolved external links, i
cannot use some functions... I like to know if you can work with xmlsec
correctly and how you install the library, how you can use all functions...
I'm having very problems with the library in win32 for example I cannot add
signature nodes to xml documents, i cannot load private keys encrypted with
password, i cannot use the xmlSecDSigResultDebugDump function to display
verify results...
Regards,
lidia