It appears you are absolutely right =) I actually suspected that at first, but I excluded both the header and source file, which led to errors. Excluding only the source file leads to a perfectly clear build. Thank you!

On Tue, Nov 4, 2008 at 1:51 PM, Eric MALENFANT <Eric.Malenfant@sagem-interstar.com> wrote:
> On Sun, Nov 2, 2008 at 9:32 PM, Z. S. O.
> <tiredashell@gmail.com> wrote:
>
>
>       Sure! The console output is below. The files in
> question are utf8_codecvt_facet.cpp, which is in libs/detail,
> and its header file, which is in boost/detail.
[snip]
>       Building file: ../src/boost/libs/detail/utf8_codecvt_facet.cpp
>       Invoking: GCC C++ Compiler g++
> -I/Volumes/Admin/Projects/TestProgram/src/stlsoft-1.9.60/inclu
> de -I/Volumes/Admin/Projects/TestProgram/src/boost -O0 -g3
> -Wall -c -fmessage-length=0 -MMD -MP
> -MF"src/boost/libs/detail/utf8_codecvt_facet.d"
> -MT"src/boost/libs/detail/utf8_codecvt_facet.d"
> -o"src/boost/libs/detail/utf8_codecvt_facet.o"
> "../src/boost/libs/detail/utf8_codecvt_facet.cpp"
>
> /Volumes/Admin/Projects/TestProgram/src/boost/boost/detail/utf
> 8_codecvt_facet.hpp:113: error: expected constructor,
> destructor, or type conversion before 'struct'
>       /usr/include/assert.h:75: error: expected constructor,
> destructor, or type conversion before 'extern'
>       ../src/boost/libs/detail/utf8_codecvt_facet.cpp:28:
> error: 'BOOST_UTF8_BEGIN_NAMESPACE' does not name a type

[snip]

Are you sure that you need to compile libs/detail/utf8_codecvt_facet.cpp?

boost/detail/utf8_codecvt_facet.hpp has this comment:
// Until the above points are fixed, a library which wants to use utf8 must:
// - include this header from one of it's headers or sources
// - include the corresponding .cpp file from one of the sources
// - before including either file, the library must define
//   - BOOST_UTF8_BEGIN_NAMESPACE to the namespace declaration that must be used
//   - BOOST_UTF8_END_NAMESPACE to the code to close the previous namespace
//   - declaration.
//   - BOOST_UTF8_DECL -- to the code which must be used for all 'exportable'
//     symbols.

from which it seems that the corresponding .cpp is not designed to be built directly, but via inclusion from another Boost lib.


Éric Malenfant
---------------------------------------------
The easier it is to do, the harder it is to change.
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users