[vtk-developers] Building VTK against llvm's libc++
Sean McBride
sean at rogue-research.com
Tue Feb 26 11:11:06 EST 2013
On Mon, 25 Feb 2013 15:46:55 -0500, Kyle Lutz said:
>That's because there is no such function with the signature:
>
>operator<<(ostream&, ostream&)
>
>In fact, I'm not even sure what such a function would do. Commenting
>out that line in vtkOStreamWrapper.h/cxx fixes the error.
Removing that line and rebuilding with libstdc++ does indeed work, but with libc++ I get a perhaps-related error:
VTK/Rendering/Core/vtkGenericVertexAttributeMapping.cxx:89:7: error: invalid operands to binary expression ('vtkOStreamWrapper' and 'std::ostringstream'
(aka 'basic_ostringstream<char>'))
<< attributeName);
^ ~~~~~~~~~~~~~
VTK/Common/Core/vtkSetGet.h:477:35: note: expanded from macro 'vtkWarningMacro'
vtkWarningWithObjectMacro(this,x)
^
VTK/Common/Core/vtkSetGet.h:525:22: note: expanded from macro 'vtkWarningWithObjectMacro'
<< "): " x << "\n\n"; \
^
From this code:
void vtkGenericVertexAttributeMapping::AddMapping(
int unit, const char* arrayName, int fieldAssociation,
int component)
{
vtksys_ios::ostringstream attributeName;
attributeName << unit;
if (this->RemoveMapping(attributeName.str().c_str()))
{
vtkWarningMacro("Replacing existing mapping for attribute "
<< attributeName.str().c_str());
}
...
Changing "attributeName" to "attributeName.str().c_str()" fixes it. Is that an appropriate change?
Thanks,
--
____________________________________________________________
Sean McBride, B. Eng sean at rogue-research.com
Rogue Research www.rogue-research.com
Mac Software Developer Montréal, Québec, Canada
More information about the vtk-developers
mailing list