
Thanks guys, that solved this problem. Still I'm having compilation errors. I'm trying to compile the following code: #include "car.hpp" #include <boost/extension/extension.hpp> #include <boost/reflection/reflection.hpp> #include <boost/reflection/reflector.hpp> int _tmain(int argc, _TCHAR* argv[]) { boost::extension::reflection<car, std::string> car_reflection( "A Car!" ); return 0; } The car class is separated into a header file. The errors have something to do with the extension namespace. Here are some examples: 1>c:\documents and settings\i64044\my documents\visual studio 2005\projects\reflection\reflection\reflection.cpp(13) : error C3083: 'extension': the symbol to the left of a '::' must be a type 1>c:\documents and settings\i64044\my documents\visual studio 2005\projects\reflection\reflection\reflection.cpp(13) : error C2039: 'reflection' : is not a member of 'boost' 1>c:\documents and settings\i64044\my documents\visual studio 2005\projects\reflection\reflection\reflection.cpp(13) : error C2065: 'reflection' : undeclared identifier 1>c:\documents and settings\i64044\my documents\visual studio 2005\projects\reflection\reflection\reflection.cpp(13) : error C2275: 'car' : illegal use of this type as an expression 1> c:\documents and settings\i64044\my documents\visual studio 2005\projects\reflection\reflection\car.hpp(15) : see declaration of 'car' 1>c:\documents and settings\i64044\my documents\visual studio 2005\projects\reflection\reflection\reflection.cpp(13) : error C2275: 'std::string' : illegal use of this type as an expression 1>c:\documents and settings\i64044\my documents\visual studio 2005\projects\reflection\reflection\reflection.cpp(13) : error C3861: 'car_reflection': identifier not found I think the real question is what header files and compiler symbols I need to use to have the code compiling? The documentation is a little spares on details. Thanks, Christian On 10/30/07, Ovanes Markarian <om_boost@keywallet.com> wrote:
I think his problem is that VC++ wizard automatically uses MB-charset for wizard generated projects. I assume the lib itself uses LoadLibrary, which expands dependent on the MB-Setting to either LoadLibraryA or LoadLibraryW.
Right-click on the project and select Properties; in the General tree node set the Character Set to 'Not Set' instead of Multi-Byte... Than it should be fine.
Best Regards, Ovanes
On 10/30/07, Johan Nilsson <r.johan.nilsson@gmail.com> wrote:
Christian Henning wrote:
Hi there, I just pulled the latest reflection code from the sandbox and tried to compile the example. But unfortunately there are compilation errors.
For example:
c:\boost-sandbox\boost\extension\impl\library_impl.hpp(37) : error
C2664: 'LoadLibraryW' : cannot convert parameter 1 from 'const char *' to 'LPCWSTR'
Is the relection lib in a usable stage?
I don't know, but try to compile using the "Multi-Byte character set" flag to get rid of the above error (assuming that you are using VC++).
If the library only supports multi-byte mode, it should probably explicitly use the Ansi varieties of the Win32 APIs.
/ Johan
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users