Aha, I think I can make a quick guess.

> OIIO::ImageOutput::create(filePath)

Change to

        OIIO::ImageOutput::create(filePath.asString());

The OIIO method changed from taking a std::string& (which worked for you before 
because your filePath has an implicit conversion from MaterialX::FilePath to 
std::string, via FilePath::operator string()), to, in our 2.x, taking a 
string_view.

I wish C++ understood that if your class can implicitly convert to std::string, 
and my string_view can implicitly convert from std::string, that it can make 
that leap for us!  But unfortunately, C++ is not quite so smart.


> On Aug 19, 2020, at 12:35 AM, Deke Kincaid <[email protected]> wrote:
> 
> Cross-posting this on both oiio-dev and materialx list.
> 
> I'm trying to compile MaterialX 1.37.1 against openimageio 2.2 beta 2.  This 
> works in 1.8.x but is failing at v2.2. 
> 
> [ 54%] Building CXX object 
> source/MaterialXGenGlsl/CMakeFiles/MaterialXGenGlsl.dir/Nodes/LightCompoundNodeGlsl.cpp.o
> cd 
> /dd/dept/software/users/dkincaid/packages/3ps/trunk/materialx/1.37.1_cy2017/private/src/MaterialX-1.37.1/build/source/MaterialXGenGlsl
>  && /dd/tools/cent7_64/package/gcc/4.8.5/bin/g++  -DMATERIALX_BUILD_OIIO 
> -DMATERIALX_OSLC_EXECUTABLE=\"\" -DMATERIALX_OSL_INCLUDE_PATH=\"\" 
> -DMATERIALX_TESTRENDER_EXECUTABLE=\"\" -DMATERIALX_TEST_RENDER 
> -I/dd/dept/software/users/dkincaid/packages/3ps/trunk/materialx/1.37.1_cy2017/private/src/MaterialX-1.37.1/source/MaterialXGenGlsl/..
>  
> -I/dd/dept/software/users/dkincaid/packages/3ps/trunk/materialx/1.37.1_cy2017/private/src/MaterialX-1.37.1/source/MaterialXGenShader/..
>  
> -I/dd/dept/software/users/dkincaid/packages/3ps/trunk/materialx/1.37.1_cy2017/private/src/MaterialX-1.37.1/source/MaterialXCore/..
>  
> -I/dd/dept/software/users/dkincaid/packages/3ps/trunk/materialx/1.37.1_cy2017/private/src/MaterialX-1.37.1/source/MaterialXFormat/..
>   -B /dd/tools/cent7_64/package/binutils/2.25.1/bin -fPIC 
> -I/dd/tools/cent7_64/package/ilmbase/2.2.0.DD1/include 
> -D_GLIBCXX_USE_CXX11_ABI=0 -DNDEBUG -fPIC -fPIC   -Wall -Wno-missing-braces 
> -std=gnu++11 -o 
> CMakeFiles/MaterialXGenGlsl.dir/Nodes/LightCompoundNodeGlsl.cpp.o -c 
> /dd/dept/software/users/dkincaid/packages/3ps/trunk/materialx/1.37.1_cy2017/private/src/MaterialX-1.37.1/source/MaterialXGenGlsl/Nodes/LightCompoundNodeGlsl.cpp
> /dd/dept/software/users/dkincaid/packages/3ps/trunk/materialx/1.37.1_cy2017/private/src/MaterialX-1.37.1/source/MaterialXRender/OiioImageLoader.cpp:
>  In member function ‘virtual bool MaterialX::OiioImageLoader::saveImage(const 
> MaterialX::FilePath&, MaterialX::ConstImagePtr, bool)’:
> /dd/dept/software/users/dkincaid/packages/3ps/trunk/materialx/1.37.1_cy2017/private/src/MaterialX-1.37.1/source/MaterialXRender/OiioImageLoader.cpp:49:58:
>  error: no matching function for call to 
> ‘OpenImageIO_v2_2::ImageOutput::create(const MaterialX::FilePath&)’
>      auto imageOutput = OIIO::ImageOutput::create(filePath);
>                                                           ^
> /dd/dept/software/users/dkincaid/packages/3ps/trunk/materialx/1.37.1_cy2017/private/src/MaterialX-1.37.1/source/MaterialXRender/OiioImageLoader.cpp:49:58:
>  note: candidates are:
> In file included from 
> /dd/dept/software/users/dkincaid/packages/3ps/trunk/materialx/1.37.1_cy2017/private/src/MaterialX-1.37.1/source/MaterialXRender/OiioImageLoader.cpp:14:0:
> /dd/tools/cent7_64/package/openimageio/2.2.5.0.beta2_cy2017/include/OpenImageIO/imageio.h:1701:23:
>  note: static OpenImageIO_v2_2::ImageOutput::unique_ptr 
> OpenImageIO_v2_2::ImageOutput::create(OpenImageIO_v2_2::string_view, 
> OpenImageIO_v2_2::Filesystem::IOProxy*, OpenImageIO_v2_2::string_view)
>      static unique_ptr create (string_view filename,
>                        ^
> /dd/tools/cent7_64/package/openimageio/2.2.5.0.beta2_cy2017/include/OpenImageIO/imageio.h:1701:23:
>  note:   no known conversion for argument 1 from ‘const MaterialX::FilePath’ 
> to ‘OpenImageIO_v2_2::string_view’
> /dd/tools/cent7_64/package/openimageio/2.2.5.0.beta2_cy2017/include/OpenImageIO/imageio.h:1706:23:
>  note: static OpenImageIO_v2_2::ImageOutput::unique_ptr 
> OpenImageIO_v2_2::ImageOutput::create(const string&, const string&)
>      static unique_ptr create (const std::string &filename,
>                        ^
> /dd/tools/cent7_64/package/openimageio/2.2.5.0.beta2_cy2017/include/OpenImageIO/imageio.h:1706:23:
>  note:   candidate expects 2 arguments, 1 provided
> gmake[3]: *** 
> [source/MaterialXRender/CMakeFiles/MaterialXRender.dir/build.make:164: 
> source/MaterialXRender/CMakeFiles/MaterialXRender.dir/OiioImageLoader.cpp.o] 
> Error 1
> gmake[3]: Leaving directory 
> '/dd/dept/software/users/dkincaid/packages/3ps/trunk/materialx/1.37.1_cy2017/private/src/MaterialX-1.37.1/build'
> gmake[2]: *** [CMakeFiles/Makefile2:676: 
> source/MaterialXRender/CMakeFiles/MaterialXRender.dir/all] Error 2
> gmake[2]: *** Waiting for unfinished jobs....
> _______________________________________________
> Oiio-dev mailing list
> [email protected]
> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

--
Larry Gritz
[email protected]




_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to