On Wed, 29 Aug 2012, Basile Starynkevitch wrote:
I discovered a strange property of C++ regarding symbols. If you just code// file foo1.cc extern "C" { const int twosymb=2; }; the resulting foo1.o does not define a twosymb symbol (I expected that it does). You have to code // file foo2.cc extern "C" { extern const int twosymb; const int twosymb=2; }; to get a symbol "twosymb" in foo2.o
Yes, that's one of the usual traps about C vs C++. Note that you can write everything on the same line...
extern "C" const int twosymb = 2; -- Marc Glisse
