If NOT enable E57_DEBUG, error: ‘struct e57::BlobSectionHeader’ has no member named ‘dump’
jiapei100 opened this issue · 2 comments
jiapei100 commented
It looks I have to enable E57_DEBUG ?? Otherwise, I'll obtain the following error messages:
....../libE57Format/src/BlobNodeImpl.cpp:60:14: error: ‘struct e57::BlobSectionHeader’ has no member named ‘dump’
60 | header.dump(); //???
| ^~~~
....../libE57Format/src/Decoder.cpp: In static member function ‘static std::shared_ptr<e57::Decoder> e57::Decoder::DecoderFactory(unsigned int, const e57::CompressedVectorNodeImpl*, std::vector<e57::SourceDestBuffer>&, const ustring&)’:
....../libE57Format/src/Decoder.cpp:54:16: error: ‘using element_type = class e57::NodeImpl’ {aka ‘class e57::NodeImpl’} has no member named ‘dump’
54 | decodeNode->dump( 2 );
| ^~~~
....../libE57Format/src/Decoder.cpp: In member function ‘size_t e57::BitpackIntegerDecoder<RegisterT>::inputProcessAligned(const char*, size_t, size_t)’:
....../libE57Format/src/Decoder.cpp:797:7: error: there are no arguments to ‘dump’ that depend on a template parameter, so a declaration of ‘dump’ must be available [-fpermissive]
797 | dump( 4 );
| ^~~~
....../libE57Format/src/Decoder.cpp:797:7: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
....../libE57Format/src/Encoder.cpp: In static member function ‘static std::shared_ptr<e57::Encoder> e57::Encoder::EncoderFactory(unsigned int, std::shared_ptr<e57::CompressedVectorNodeImpl>, std::vector<e57::SourceDestBuffer>&, e57::ustring&)’:
....../libE57Format/src/Encoder.cpp:61:16: error: ‘using element_type = class e57::NodeImpl’ {aka ‘class e57::NodeImpl’} has no member named ‘dump’
61 | encodeNode->dump( 2 );
| ^~~~
....../libE57Format/src/CompressedVectorWriterImpl.cpp: In member function ‘void e57::CompressedVectorWriterImpl::close()’:
....../libE57Format/src/CompressedVectorWriterImpl.cpp:198:14: error: ‘struct e57::CompressedVectorSectionHeader’ has no member named ‘dump’
198 | header.dump( 4 ); //???
| ^~~~
....../libE57Format/src/CompressedVectorReaderImpl.cpp: In member function ‘void e57::CompressedVectorReaderImpl::feedPacketToDecoders(uint64_t)’:
....../libE57Format/src/CompressedVectorReaderImpl.cpp:394:21: error: ‘struct e57::DecodeChannel’ has no member named ‘dump’
394 | channel.dump( 8 );
| ^~~~
....../libE57Format/src/CompressedVectorWriterImpl.cpp:218:7: error: ‘dump’ was not declared in this scope
218 | dump( 4 );
| ^~~~
....../libE57Format/src/Encoder.cpp: In member function ‘uint64_t e57::BitpackIntegerEncoder<RegisterT>::processRecords(size_t)’:
....../libE57Format/src/Encoder.cpp:666:4: error: there are no arguments to ‘dump’ that depend on a template parameter, so a declaration of ‘dump’ must be available [-fpermissive]
666 | dump( 4 );
| ^~~~
....../libE57Format/src/Encoder.cpp:666:4: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
make[2]: *** [CMakeFiles/E57Format.dir/build.make:79: CMakeFiles/E57Format.dir/src/BlobNodeImpl.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
....../libE57Format/src/Encoder.cpp:803:7: error: there are no arguments to ‘dump’ that depend on a template parameter, so a declaration of ‘dump’ must be available [-fpermissive]
803 | dump( 4 );
| ^~~~
....../libE57Format/src/Encoder.cpp: In member function ‘bool e57::BitpackIntegerEncoder<RegisterT>::registerFlushToOutput()’:
....../libE57Format/src/Encoder.cpp:830:4: error: there are no arguments to ‘dump’ that depend on a template parameter, so a declaration of ‘dump’ must be available [-fpermissive]
830 | dump( 4 );
| ^~~~
....../libE57Format/src/Encoder.cpp: In member function ‘virtual uint64_t e57::ConstantIntegerEncoder::processRecords(size_t)’:
....../libE57Format/src/Encoder.cpp:886:4: error: ‘dump’ was not declared in this scope
886 | dump( 4 );
| ^~~~
....../libE57Format/src/Decoder.cpp: In instantiation of ‘size_t e57::BitpackIntegerDecoder<RegisterT>::inputProcessAligned(const char*, size_t, size_t) [with RegisterT = long unsigned int; size_t = long unsigned int]’:
....../libE57Format/src/Decoder.h:139:14: required from here
....../libE57Format/src/Decoder.cpp:797:11: error: ‘dump’ was not declared in this scope
797 | dump( 4 );
| ~~~~^~~~~
....../libE57Format/src/Decoder.cpp: In instantiation of ‘size_t e57::BitpackIntegerDecoder<RegisterT>::inputProcessAligned(const char*, size_t, size_t) [with RegisterT = unsigned int; size_t = long unsigned int]’:
....../libE57Format/src/Decoder.h:139:14: required from here
....../libE57Format/src/Decoder.cpp:797:11: error: ‘dump’ was not declared in this scope
....../libE57Format/src/Decoder.cpp: In instantiation of ‘size_t e57::BitpackIntegerDecoder<RegisterT>::inputProcessAligned(const char*, size_t, size_t) [with RegisterT = short unsigned int; size_t = long unsigned int]’:
....../libE57Format/src/Decoder.h:139:14: required from here
....../libE57Format/src/Decoder.cpp:797:11: error: ‘dump’ was not declared in this scope
....../libE57Format/src/Decoder.cpp: In instantiation of ‘size_t e57::BitpackIntegerDecoder<RegisterT>::inputProcessAligned(const char*, size_t, size_t) [with RegisterT = unsigned char; size_t = long unsigned int]’:
....../libE57Format/src/Decoder.h:139:14: required from here
....../libE57Format/src/Decoder.cpp:797:11: error: ‘dump’ was not declared in this scope
....../libE57Format/src/Encoder.cpp: In instantiation of ‘uint64_t e57::BitpackIntegerEncoder<RegisterT>::processRecords(size_t) [with RegisterT = long unsigned int; uint64_t = long unsigned int; size_t = long unsigned int]’:
....../libE57Format/src/Encoder.h:151:16: required from here
....../libE57Format/src/Encoder.cpp:666:8: error: ‘dump’ was not declared in this scope
666 | dump( 4 );
| ~~~~^~~~~
....../libE57Format/src/Encoder.cpp:803:11: error: ‘dump’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
803 | dump( 4 );
| ~~~~^~~~~
....../libE57Format/src/Encoder.cpp: In instantiation of ‘bool e57::BitpackIntegerEncoder<RegisterT>::registerFlushToOutput() [with RegisterT = long unsigned int]’:
....../libE57Format/src/Encoder.h:152:12: required from here
....../libE57Format/src/Encoder.cpp:830:8: error: ‘dump’ was not declared in this scope
830 | dump( 4 );
| ~~~~^~~~~
....../libE57Format/src/Encoder.cpp: In instantiation of ‘uint64_t e57::BitpackIntegerEncoder<RegisterT>::processRecords(size_t) [with RegisterT = unsigned int; uint64_t = long unsigned int; size_t = long unsigned int]’:
....../libE57Format/src/Encoder.h:151:16: required from here
....../libE57Format/src/Encoder.cpp:666:8: error: ‘dump’ was not declared in this scope
666 | dump( 4 );
| ~~~~^~~~~
....../libE57Format/src/Encoder.cpp:803:11: error: ‘dump’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
803 | dump( 4 );
| ~~~~^~~~~
....../libE57Format/src/Encoder.cpp: In instantiation of ‘bool e57::BitpackIntegerEncoder<RegisterT>::registerFlushToOutput() [with RegisterT = unsigned int]’:
....../libE57Format/src/Encoder.h:152:12: required from here
....../libE57Format/src/Encoder.cpp:830:8: error: ‘dump’ was not declared in this scope
830 | dump( 4 );
| ~~~~^~~~~
....../libE57Format/src/Encoder.cpp: In instantiation of ‘uint64_t e57::BitpackIntegerEncoder<RegisterT>::processRecords(size_t) [with RegisterT = short unsigned int; uint64_t = long unsigned int; size_t = long unsigned int]’:
....../libE57Format/src/Encoder.h:151:16: required from here
....../libE57Format/src/Encoder.cpp:666:8: error: ‘dump’ was not declared in this scope
666 | dump( 4 );
| ~~~~^~~~~
....../libE57Format/src/Encoder.cpp:803:11: error: ‘dump’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
803 | dump( 4 );
| ~~~~^~~~~
....../libE57Format/src/Encoder.cpp: In instantiation of ‘bool e57::BitpackIntegerEncoder<RegisterT>::registerFlushToOutput() [with RegisterT = short unsigned int]’:
....../libE57Format/src/Encoder.h:152:12: required from here
....../libE57Format/src/Encoder.cpp:830:8: error: ‘dump’ was not declared in this scope
830 | dump( 4 );
| ~~~~^~~~~
....../libE57Format/src/Encoder.cpp: In instantiation of ‘uint64_t e57::BitpackIntegerEncoder<RegisterT>::processRecords(size_t) [with RegisterT = unsigned char; uint64_t = long unsigned int; size_t = long unsigned int]’:
....../libE57Format/src/Encoder.h:151:16: required from here
....../libE57Format/src/Encoder.cpp:666:8: error: ‘dump’ was not declared in this scope
666 | dump( 4 );
| ~~~~^~~~~
....../libE57Format/src/Encoder.cpp:803:11: error: ‘dump’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
803 | dump( 4 );
| ~~~~^~~~~
....../libE57Format/src/Encoder.cpp: In instantiation of ‘bool e57::BitpackIntegerEncoder<RegisterT>::registerFlushToOutput() [with RegisterT = unsigned char]’:
....../libE57Format/src/Encoder.h:152:12: required from here
....../libE57Format/src/Encoder.cpp:830:8: error: ‘dump’ was not declared in this scope
830 | dump( 4 );
| ~~~~^~~~~
make[2]: *** [CMakeFiles/E57Format.dir/build.make:135: CMakeFiles/E57Format.dir/src/CompressedVectorReaderImpl.cpp.o] Error 1
make[2]: *** [CMakeFiles/E57Format.dir/build.make:191: CMakeFiles/E57Format.dir/src/Encoder.cpp.o] Error 1
make[2]: *** [CMakeFiles/E57Format.dir/build.make:177: CMakeFiles/E57Format.dir/src/Decoder.cpp.o] Error 1
make[2]: *** [CMakeFiles/E57Format.dir/build.make:149: CMakeFiles/E57Format.dir/src/CompressedVectorWriterImpl.cpp.o] Error 1
make[2]: Leaving directory '....../libE57Format/build'
make[1]: *** [CMakeFiles/Makefile2:140: CMakeFiles/E57Format.dir/all] Error 2
make[1]: Leaving directory '....../libE57Format/build'
make: *** [Makefile:139: all] Error 2
asmaloney commented
How are you setting E57_DEBUG?
I turned it off when running cmake and it builds fine. In fact the GutHub action builds with it off for every commit (see Configure (Release) step).
So it sounds like you have something else going on here...
What does your cmake command look like?
asmaloney commented
If you have any additional info or can explain how to reproduce the problem, please feel free to reopen this issue.