certi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [certi-dev] C++ error in VS when building certi3.5.1


From: Bourbouh Hamza
Subject: Re: [certi-dev] C++ error in VS when building certi3.5.1
Date: Fri, 13 Nov 2015 00:34:27 +0100


Hi Jean-Philippe,

I tried what you have suggested it really works to reduce the number of errors from 50 to 7. I still have a problem with NM_Classes.cc
error :
9>D:\isae\certi\CERTI-3.5.1git-Source\libCERTI\NM_Classes.cc(101): error C2678: binary '<<' : no operator found which takes a left-hand operand of type 'std::ostream' (or there is no acceptable conversion)
for : out << dimensions[i].show(out);
I tried to add the code you gave me to add it on the top of M_classes.cc but a new error say that we can not define it twice.
the 7 errors are
Images intégrées 1

2015-11-12 20:33 GMT+01:00 Jean-Philippe Lebel <address@hidden>:
** Warning ** Not the best fix!

To fix the stream error, define the overloaded function, in certi.hh (within the CERTI__HH_INCLUDED ifdef)

namespace certi { std::ostream& operator<< (std::ostream& os, std::ostream& is);
}

Place the actual code in a compiled file (in placed mine in at the top of M_Classes.cc but it should not matter)

namespace certi { std::ostream& operator<< (std::ostream& os, std::ostream& is) { return (os << is.rdbuf()); } }


I can't understand the root cause of that error... but it seems related to an addition to C++11. The fix, while to pretty, does the job.

For the std::min error (in HLAbuffer.cc) just add  #include <algorithm> at the top. Same thing for ObjectClass.cc, HLAvariableArray.hh, BillardDDM.cc, 

In SocketSHMWin32.hh comment the throw line and do the same in SocketSHMWin32.cc (around line 100)

Now it will compile. I haven't tested the resulting binary...

Good luck.




On Thu, Nov 12, 2015 at 11:52 AM, Bourbouh Hamza <address@hidden> wrote:
Hi everyone,

When I'm trying to build certi on Windows 10 with Visual Studio 13, it throws a lot of errors
For example :

9>D:\isae\certi\CERTI-3.5.1git-Source\libCERTI\M_Classes.cc(1047): error C2678: binary '<<' : no operator found which takes a left-hand operand of type
'std::basic_ostream<char,std::char_traits<char>>' (or there is no acceptable conversion)

the line of code that throws the error is :
 out << "(opt) eventRetraction =" << eventRetraction.show(out)      << std::endl;

Waiting for your ideas what goes wrong?
Hamza

--
CERTI-Devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/certi-devel




--
-------------
Jean-Philippe Lebel, Ing. MBA
ForwardSim inc
cell: 418-931-3800

--
CERTI-Devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/certi-devel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]