Thank you, Juergen,

there is a switch in the pugixml.hpp for the dll export. When I switch this on, it does not complain about not-finding the *.lib. I am just wondering, because the compilation worked some months ago.

Anyway, I get another strange error. It says

error LNK2019: unresolved external symbol [...]

The linker cannot resolve a function which is defined in the same file:
pugixml.cpp:

//[...]
    // Writer interface for node printing (see xml_node::print)
    class PUGIXML_CLASS xml_writer
    {
    public:
        virtual ~xml_writer() {}

        // Write memory chunk into stream/file/whatever
        virtual void write(const void* data, size_t size) = 0;
    };

    // xml_writer implementation for FILE*
    class PUGIXML_CLASS xml_writer_file: public xml_writer
    {
    public:
        // Construct writer from a FILE* object; void* is used to avoid header dependencies on stdio
        xml_writer_file(void* file);

        virtual void write(const void* data, size_t size);

    private:
        void* file;
    };

    #ifndef PUGIXML_NO_STL
    // xml_writer implementation for streams
    class PUGIXML_CLASS xml_writer_stream: public xml_writer
    {
    public:
        // Construct writer from an output stream object
        xml_writer_stream(std::basic_ostream<char, std::char_traits<char> >& stream);
        xml_writer_stream(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& stream);

        virtual void write(const void* data, size_t size);

    private:
        std::basic_ostream<char, std::char_traits<char> >* narrow_stream;
        std::basic_ostream<wchar_t, std::char_traits<wchar_t> >* wide_stream;
    };
    #endif
//[...]

and pugixml.hpp:

//[...]
namespace pugi
{
    PUGI__FN xml_writer_file::xml_writer_file(void* file_): file(file_)
    {
    }

    PUGI__FN void xml_writer_file::write(const void* data, size_t size)
    {
        size_t result = fwrite(data, 1, size, static_cast<FILE*>(file));
        (void)!result; // unfortunately we can't do proper error handling here
    }

#ifndef PUGIXML_NO_STL
    PUGI__FN xml_writer_stream::xml_writer_stream(std::basic_ostream<char, std::char_traits<char> >& stream): narrow_stream(&stream), wide_stream(0)
    {
    }

    PUGI__FN xml_writer_stream::xml_writer_stream(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& stream): narrow_stream(0), wide_stream(&stream)
    {
    }

    PUGI__FN void xml_writer_stream::write(const void* data, size_t size)
    {
        if (narrow_stream)
        {
            assert(!wide_stream);
            narrow_stream->write(reinterpret_cast<const char*>(data), static_cast<std::streamsize>(size));
        }
        else
        {
            assert(wide_stream);
            assert(size % sizeof(wchar_t) == 0);

            wide_stream->write(reinterpret_cast<const wchar_t*>(data), static_cast<std::streamsize>(size / sizeof(wchar_t)));
        }
    }
#endif
//[...]

Thanks for the help!
Ronny

Am 3/4/2013 2:40 PM, schrieb Jürgen Hunold:

Hi Ronny,

On Monday, 4. March 2013 14:28:58 Ronny Herzog wrote:
Dear all,

I have troubles to compile because bjam does not find a *.lib file which I
would expect to be there. I am on Windows 7 with Boost 1.50.0 and visual
studio 10.

It complains:

LINK : fatal error LNK1181: cannot open input file
'..\boost-build\additional\msvc-10.0\release\address-model-64\threading-mult
i\pugixml.lib' Which is true, the compiler does not build a pugixml.lib. I
don't understand why it is not build, since I am building a *.dll. I would
appriciate any help, because I have no clue where I should look for the
problem.
That is most probably the classical bug that the msvc link.exe does not 
generate a .lib export library when no visible symbols are available. Do you 
export your symbols from "pugixml.cpp" via "dllexport/import"? Your Jamfile for 
"pugixml" seems to contain no controlling define for that.

Yours,

Jürgen