Re: [Dclib-devel] dlib C++ library Compilation Errors
Brought to you by:
davisking
|
From: Davis K. <dav...@us...> - 2008-07-22 19:42:18
|
Ah, it is the std::wstring. Some of the windows ports of gcc to windows are
missing the wide character stuff from the standard C++ library. You can
maybe get it working by adding a #ifdef around the offending bits of code to
disable them when they are used on the version of gcc used by cygwin 1.5.
Or you could try using mingw. I believe it's newest version isn't missing
these things from its library.
I'll play around with cygwin when I get some free time and see if I can't
find a workaround. But let me know if you find an easy solution :)
-Davis
On Tue, Jul 22, 2008 at 3:23 PM, Nabeel Alzahrani <nza...@ho...>
wrote:
> I did not put anything into the /home/Bill/dlib/dlib folder. If I just go
> to the examples folder and do ""g++ -DNO_MAKEFILE bayes_net_ex.cpp", I got
> the error messages:
> ------------------------------------------------------
>
> Bill@pc ~
> $ ls
> dlib
>
> Bill@pc ~
> $ cd dlib
>
> Bill@pc ~/dlib
> $ ls
> New Text Document.txt dlib documentation.html makefile.txt
> bayes_net_ex.cpp docs examples project.cpp
>
> Bill@pc ~/dlib
> $ pwd
> /home/Bill/dlib
>
> Bill@pc ~/dlib
> $ cd examples
>
> Bill@pc ~/dlib/examples
> $ g++ -DNO_MAKEFILE bayes_net_ex.cpp
> bayes_net_ex.cpp:38:30: dlib/bayes_utils.h: No such file or directory
> bayes_net_ex.cpp:39:30: dlib/graph_utils.h: No such file or directory
> bayes_net_ex.cpp:40:24: dlib/graph.h: No such file or directory
> bayes_net_ex.cpp:41:33: dlib/directed_graph.h: No such file or directory
> bayes_net_ex.cpp:45: error: expected namespace-name before ';' token
> bayes_net_ex.cpp:45: error: `<type error>' is not a namespace
> bayes_net_ex.cpp: In function `int main()':
> bayes_net_ex.cpp:59: error: expected namespace-name before ';' token
> bayes_net_ex.cpp:59: error: `<type error>' is not a namespace
> bayes_net_ex.cpp:64: error: `directed_graph' undeclared (first use this
> function
> )
> bayes_net_ex.cpp:64: error: (Each undeclared identifier is reported only
> once fo
> r each function it appears in.)
> bayes_net_ex.cpp:64: error: `bayes_node' undeclared (first use this
> function)
> bayes_net_ex.cpp:64: error: `::kernel_1a_c' has not been declared
> bayes_net_ex.cpp:64: error: expected `;' before "bn"
> bayes_net_ex.cpp:80: error: `bn' undeclared (first use this function)
> bayes_net_ex.cpp:88: error: `set_node_num_values' undeclared (first use
> this fun
> ction)
> bayes_net_ex.cpp:93: error: `assignment' undeclared (first use this
> function)
> bayes_net_ex.cpp:93: error: expected `;' before "parent_state"
> bayes_net_ex.cpp:102: error: `parent_state' undeclared (first use this
> function)
>
> bayes_net_ex.cpp:102: error: `set_node_probability' undeclared (first use
> this f
> unction)
> bayes_net_ex.cpp:167: error: expected init-declarator before '<' token
> bayes_net_ex.cpp:167: error: expected `,' or `;' before '<' token
> bayes_net_ex.cpp:168: error: `join_tree_type' undeclared (first use this
> functio
> n)
> bayes_net_ex.cpp:168: error: expected `;' before "join_tree"
> bayes_net_ex.cpp:174: error: `join_tree' undeclared (first use this
> function)
> bayes_net_ex.cpp:174: error: `create_moral_graph' undeclared (first use
> this fun
> ction)
> bayes_net_ex.cpp:175: error: `create_join_tree' undeclared (first use this
> funct
> ion)
> bayes_net_ex.cpp:180: error: `bayesian_network_join_tree' undeclared (first
> use
> this function)
> bayes_net_ex.cpp:180: error: expected `;' before "solution"
> bayes_net_ex.cpp:185: error: `solution' undeclared (first use this
> function)
> bayes_net_ex.cpp:200: error: `set_node_value' undeclared (first use this
> functio
> n)
> bayes_net_ex.cpp:201: error: `set_node_as_evidence' undeclared (first use
> this f
> unction)
> bayes_net_ex.cpp:205: error: expected `;' before "solution_with_evidence"
> bayes_net_ex.cpp:209: error: `solution_with_evidence' undeclared (first use
> this
> function)
> bayes_net_ex.cpp:255: error: `bayesian_network_gibbs_sampler' undeclared
> (first
> use this function)
> bayes_net_ex.cpp:255: error: expected `;' before "sampler"
> bayes_net_ex.cpp:274: error: `sampler' undeclared (first use this function)
> bayes_net_ex.cpp:276: error: `node_value' undeclared (first use this
> function)
>
> Bill@pc ~/dlib/examples
> $
> ------------------------------------------------------
> However, if I changed the paths in the bayes_net_ex.cpp file to reflect the
> location of the dlib library by changing the includes to:
> #include "../dlib/bayes_utils.h"
> #include "../dlib/graph_utils.h"
> #include "../dlib/graph.h"
> #include "../dlib/directed_graph.h"
> and do ""g++ -DNO_MAKEFILE bayes_net_ex.cpp", I got the error messages:
> -------------------------------------------------------
>
> Bill@pc ~
> $ ls
> dlib
>
> Bill@pc ~
> $ cd dlib
>
> Bill@pc ~/dlib
> $ ls
> New Text Document.txt dlib documentation.html makefile.txt
> bayes_net_ex.cpp docs examples project.cpp
>
> Bill@pc ~/dlib
> $ cd examples
>
> Bill@pc ~/dlib/examples
> $ g++ bayes_net_ex.cpp
> In file included from ../dlib/bayes_utils/../string.h:6,
> from ../dlib/bayes_utils/bayes_utils.h:8,
> from ../dlib/bayes_utils.h:6,
> from bayes_net_ex.cpp:38:
> ../dlib/bayes_utils/../string/string.h:88: error: expected init-declarator
> befor
> e "cast_to_wstring"
> ../dlib/bayes_utils/../string/string.h:88: error: expected `;' before
> "cast_to_w
> string"
> ../dlib/bayes_utils/../string/string.h: In function `const T
> dlib::string_cast(c
> onst wchar_t*)':
> ../dlib/bayes_utils/../string/string.h:214: error: `wstring' is not a
> member of
> `std'
> In file included from ../dlib/bayes_utils/../map/../unicode.h:6,
> from ../dlib/bayes_utils/../map/../serialize.h:121,
> from ../dlib/bayes_utils/../map/map_kernel_1.h:11,
> from ../dlib/bayes_utils/../map.h:6,
> from ../dlib/bayes_utils/bayes_utils.h:9,
> from ../dlib/bayes_utils.h:6,
> from bayes_net_ex.cpp:38:
> ../dlib/bayes_utils/../map/../unicode/unicode.h: At global scope:
> ../dlib/bayes_utils/../map/../unicode/unicode.h:521: error: expected
> unqualified
> -id before '&' token
> ../dlib/bayes_utils/../map/../unicode/unicode.h:521: error: expected `,' or
> `...
> ' before '&' token
> ../dlib/bayes_utils/../map/../unicode/unicode.h:522: error: ISO C++ forbids
> decl
> aration of `parameter' with no type
> ../dlib/bayes_utils/../map/../unicode/unicode.h:524: error: expected
> init-declar
> ator before "convert_utf32_to_wstring"
> ../dlib/bayes_utils/../map/../unicode/unicode.h:524: error: expected `,' or
> `;'
> before "convert_utf32_to_wstring"
> ../dlib/bayes_utils/../map/../unicode/unicode.h:528: error: expected
> init-declar
> ator before "convert_mbstring_to_wstring"
> ../dlib/bayes_utils/../map/../unicode/unicode.h:528: error: expected `,' or
> `;'
> before "convert_mbstring_to_wstring"
> ../dlib/bayes_utils/../map/../unicode/unicode.h:533: error: expected
> unqualified
> -id before '&' token
> ../dlib/bayes_utils/../map/../unicode/unicode.h:533: error: expected `,' or
> `...
> ' before '&' token
> ../dlib/bayes_utils/../map/../unicode/unicode.h:534: error: ISO C++ forbids
> decl
> aration of `parameter' with no type
> In file included from ../dlib/bayes_utils/../map/map_kernel_1.h:11,
> from ../dlib/bayes_utils/../map.h:6,
> from ../dlib/bayes_utils/bayes_utils.h:9,
> from ../dlib/bayes_utils.h:6,
> from bayes_net_ex.cpp:38:
> ../dlib/bayes_utils/../map/../serialize.h:738: error: expected
> unqualified-id be
> fore '&' token
> ../dlib/bayes_utils/../map/../serialize.h:738: error: expected `,' or `...'
> befo
> re '&' token
> ../dlib/bayes_utils/../map/../serialize.h:741: error: ISO C++ forbids
> declaratio
> n of `parameter' with no type
> ../dlib/bayes_utils/../map/../serialize.h: In function `void
> dlib::serialize(int
> )':
> ../dlib/bayes_utils/../map/../serialize.h:742: error: `item' undeclared
> (first u
> se this function)
> ../dlib/bayes_utils/../map/../serialize.h:742: error: (Each undeclared
> identifie
> r is reported only once for each function it appears in.)
> ../dlib/bayes_utils/../map/../serialize.h:743: error: `out' undeclared
> (first us
> e this function)
> ../dlib/bayes_utils/../map/../serialize.h: At global scope:
> ../dlib/bayes_utils/../map/../serialize.h:752: error: variable or field
> `deseria
> lize' declared void
> ../dlib/bayes_utils/../map/../serialize.h:752: error: `dlib::deserialize'
> declar
> ed as an `inline' variable
> ../dlib/bayes_utils/../map/../serialize.h:752: error: `int
> dlib::deserialize' re
> declared as different kind of symbol
> ../dlib/bayes_utils/../map/../serialize.h:677: error: previous declaration
> of `t
> emplate<class T, class alloc> void dlib::deserialize(std::vector<_Tp,
> _Alloc>&,
> std::istream&)'
> ../dlib/bayes_utils/../map/../serialize.h:752: error: declaration of `int
> dlib::
> deserialize'
> ../dlib/bayes_utils/../map/../serialize.h:677: error: conflicts with
> previous de
> claration ` namespace dlib { }::deserialize'
> ../dlib/bayes_utils/../map/../serialize.h:753: error: `wstring' is not a
> member
> of `std'
> ../dlib/bayes_utils/../map/../serialize.h:753: error: `item' was not
> declared in
> this scope
> ../dlib/bayes_utils/../map/../serialize.h:754: error: expected
> primary-expressio
> n before '&' token
> ../dlib/bayes_utils/../map/../serialize.h:755: error: `in' was not declared
> in t
> his scope
> ../dlib/bayes_utils/../map/../serialize.h:756: error: initializer
> expression lis
> t treated as compound expression
> ../dlib/bayes_utils/../map/../serialize.h:756: error: expected `,' or `;'
> before
> '{' token
>
> Bill@pc ~/dlib/examples
> $
> -------------------------------------------------------
> ------------------------------
> Date: Tue, 22 Jul 2008 07:16:09 -0400
> From: dav...@us...
> To: nza...@ho...
> Subject: Re: dlib C++ library Compilation Errors
> CC: dcl...@li...
>
>
> Don't put anything into the /home/Bill/dlib/dlib folder. That is probably
> your problem. Try just going into the examples folder and doing "g++
> -DNO_MAKEFILE bayes_net_ex.cpp -I ..".
>
> You might also get linker errors about gdi32, comctl32, user32, ws2_32, or
> imm32. So if that happens try adding -l gdi32 -l imm32, etc...
>
> Let me know if that doesn't fix your problem.
>
> -Davis
>
> On Tue, Jul 22, 2008 at 3:35 AM, Nabeel Alzahrani <nza...@ho...>
> wrote:
>
>
> Hello Davis
>
> I tried to run the example bayes_net_ex.cpp but I got many error messages.
> I am using Cygwin version 1.5.25 (you can tell using the command uname -r)
> under Windows XP Home edition with service pack 3.
> I downloaded the library to a folder named dlib, so I have the following
> folders:
> /home/Bill/dlib/dlib
> /home/Bill/dlib/docs
> /home/Bill/dlib/examples
> I moved the example bayes_net_ex.cpp from the folder
> /home/Bill/dlib/examples to the folder /home/Bill/dlib/dlib and compiled it
> using the command g++ bayes_net_ex.cpp and gcc bayes_net_ex.cpp with and
> without using the compiler director #define NO_MAKEFILE as the first line.
>
> The error messages are:
> $ g++ bayes_net_ex.cpp
>
> --------------------------------------------------------------------------------------------------------
> In file included from
> dlib/bayes_utils/../string.h:6,
>
>
> from
> dlib/bayes_utils/bayes_utils.h:8,
>
>
> from
> dlib/bayes_utils.h:6,
>
>
> from
> bayes_net_ex.cpp:39:
>
>
> dlib/bayes_utils/../string/string.h:88:
> error: expected init-declarator before "
>
>
> cast_to_wstring"
>
>
> dlib/bayes_utils/../string/string.h:88:
> error: expected `;' before "cast_to_wstr
>
>
> ing"
>
>
> dlib/bayes_utils/../string/string.h: In
> function `const T dlib::string_cast(cons
>
>
> t wchar_t*)':
>
>
> dlib/bayes_utils/../string/string.h:214:
> error: `wstring' is not a member of `st
>
>
> d'
>
>
> In file included from
> dlib/bayes_utils/../map/../unicode.h:6,
>
>
> from
> dlib/bayes_utils/../map/../serialize.h:121,
>
>
> from
> dlib/bayes_utils/../map/map_kernel_1.h:11,
>
>
> from
> dlib/bayes_utils/../map.h:6,
>
>
> from
> dlib/bayes_utils/bayes_utils.h:9,
>
>
> from
> dlib/bayes_utils.h:6,
>
>
> from
> bayes_net_ex.cpp:39:
>
>
> dlib/bayes_utils/../map/../unicode/unicode.h:
> At global scope:
>
>
> dlib/bayes_utils/../map/../unicode/unicode.h:521:
> error: expected unqualified-id
>
>
> before '&' token
>
>
> dlib/bayes_utils/../map/../unicode/unicode.h:521:
> error: expected `,' or `...' b
>
>
> efore '&' token
>
>
> dlib/bayes_utils/../map/../unicode/unicode.h:522:
> error: ISO C++ forbids declara
>
>
> tion of `parameter' with no type
>
>
> dlib/bayes_utils/../map/../unicode/unicode.h:524:
> error: expected init-declarato
>
>
> r before "convert_utf32_to_wstring"
>
>
> dlib/bayes_utils/../map/../unicode/unicode.h:524:
> error: expected `,' or `;' bef
>
>
> ore "convert_utf32_to_wstring"
>
>
> dlib/bayes_utils/../map/../unicode/unicode.h:528:
> error: expected init-declarato
>
>
> r before "convert_mbstring_to_wstring"
>
>
> dlib/bayes_utils/../map/../unicode/unicode.h:528:
> error: expected `,' or `;' bef
>
>
> ore "convert_mbstring_to_wstring"
>
>
> dlib/bayes_utils/../map/../unicode/unicode.h:533:
> error: expected unqualified-id
>
>
> before '&' token
>
>
> dlib/bayes_utils/../map/../unicode/unicode.h:533:
> error: expected `,' or `...' b
>
>
> efore '&' token
>
>
> dlib/bayes_utils/../map/../unicode/unicode.h:534:
> error: ISO C++ forbids declara
>
>
> tion of `parameter' with no type
>
>
> In file included from
> dlib/bayes_utils/../map/map_kernel_1.h:11,
>
>
> from
> dlib/bayes_utils/../map.h:6,
>
>
> from
> dlib/bayes_utils/bayes_utils.h:9,
>
>
> from
> dlib/bayes_utils.h:6,
>
>
> from
> bayes_net_ex.cpp:39:
>
>
> dlib/bayes_utils/../map/../serialize.h:738:
> error: expected unqualified-id befor
>
>
> e '&' token
>
>
> dlib/bayes_utils/../map/../serialize.h:738:
> error: expected `,' or `...' before
>
>
> '&' token
>
>
> dlib/bayes_utils/../map/../serialize.h:741:
> error: ISO C++ forbids declaration o
>
>
> f `parameter' with no type
>
>
> dlib/bayes_utils/../map/../serialize.h:
> In function `void dlib::serialize(int)':
>
>
>
>
>
> dlib/bayes_utils/../map/../serialize.h:742:
> error: `item' undeclared (first use
>
>
> this function)
>
>
> dlib/bayes_utils/../map/../serialize.h:742:
> error: (Each undeclared identifier i
>
>
> s reported only once for each function
> it appears in.)
>
>
> dlib/bayes_utils/../map/../serialize.h:743:
> error: `out' undeclared (first use t
>
>
> his function)
>
>
> dlib/bayes_utils/../map/../serialize.h:
> At global scope:
>
>
> dlib/bayes_utils/../map/../serialize.h:752:
> error: variable or field `deserializ
>
>
> e' declared void
>
>
> dlib/bayes_utils/../map/../serialize.h:752:
> error: `dlib::deserialize' declared
>
>
> as an `inline' variable
>
>
> dlib/bayes_utils/../map/../serialize.h:752:
> error: `int dlib::deserialize' redec
>
>
> lared as different kind of symbol
>
>
> dlib/bayes_utils/../map/../serialize.h:677:
> error: previous declaration of `temp
>
>
> late void
> dlib::deserialize(std::vector&, std
>
>
> ::istream&)'
>
>
> dlib/bayes_utils/../map/../serialize.h:752:
> error: declaration of `int dlib::des
>
>
> erialize'
>
>
> dlib/bayes_utils/../map/../serialize.h:677:
> error: conflicts with previous decla
>
>
> ration ` namespace dlib {
> }::deserialize'
>
>
> dlib/bayes_utils/../map/../serialize.h:753:
> error: `wstring' is not a member of
>
>
> `std'
>
>
> dlib/bayes_utils/../map/../serialize.h:753:
> error: `item' was not declared in th
>
>
> is scope
>
>
> dlib/bayes_utils/../map/../serialize.h:754:
> error: expected primary-expression b
>
>
> efore '&' token
>
>
> dlib/bayes_utils/../map/../serialize.h:755:
> error: `in' was not declared in this
>
>
> scope
>
>
> dlib/bayes_utils/../map/../serialize.h:756:
> error: initializer expression list t
>
>
> reated as compound expression
>
>
> dlib/bayes_utils/../map/../serialize.h:756:
> error: expected `,' or `;' before '{
>
>
> ' token
>
>
>
>
>
>
>
>
> _________________________________________________________________
> Time for vacation? WIN what you need- enter now!
> http://www.gowindowslive.com/summergiveaway/?ocid=tag_jlyhm
>
>
>
> ------------------------------
> Time for vacation? WIN what you need. Enter Now!<http://www.gowindowslive.com/summergiveaway/?ocid=tag_jlyhm>
>
|