mlivesu / LoopyCuts

Practical Feature-Preserving Block Decomposition for Strongly Hex-Dominant Meshing
64 stars 12 forks source link

Ubuntu compilation #3

Closed spolanski closed 1 year ago

spolanski commented 3 years ago

Hello,

I would like to test LoopyCuts, but I am getting an error when trying to comile it under Ubuntu:

./tracing_field/sharp_feature_manager.h:940:19: warning: ignoring return value of ‘int fscanf(FILE, const char, ...)’, declared with attribute warn_unused_result [-Wunused-result] 940 | fscanf(f,"%d,%d,%d\n",&FType,&FIndex,&EIndex); | ~~^~~~~~~~~~~ make: *** [Makefile:1215: glwidget.o] Error 1

I ran qmake . and that created the stash file. Now when I am running make -j4 command it gives the error above. Which version of Qt should be used? I have used qt5 and also installed additional libraries for opengl.

Thank you for any help with this. Slaw

mlivesu commented 3 years ago

Hi, what you posted seems to be just a warning (ignoring return value) and not an error. There seems to be some issue with Qt, but the actual error is not included in your message. For the record, we used Qt5, but the GUI contains only standard elements, and should be compatible with Qt 4 and 6 as well

@nicopietroni since this is on your part, do you have any additional commento on this?

spolanski commented 3 years ago

Hello, Thank you for coming back to me so quickly. There is also this part

make: *** [Makefile:1215: glwidget.o] Error 1

I checked now and there isn't any executable created in the loop_distribution directory. Is there a way to run the code without calling qt by any chance?

Thank you

mlivesu commented 3 years ago

In principle loopycuts can be used also in command line mode, for batch processing, and that code does not necessitate a GUI (hence Qt). However, the code is not shaped in a way that the command line version can be easily compiled without Qt, and I am not sure how complex this will be...

I fear that it's simpler to fix Qt than excluding it

Nevertheless, the problem that you are reporting seems to be related more with Qt than with our specific tool.

spolanski commented 3 years ago

May I ask which OS do you use to compile LoopyCuts? I am wondering if it will make a difference when I compile it under Win10

mlivesu commented 3 years ago

both Nico and I are on MacOS. We are aware of other people how could make LoopyCuts work under Windows though

spolanski commented 3 years ago

I compiled it under Windows and the error is very similar. It complains about QGLWidget. I found some information that this widget is considered obsolete since Qt 5.7. I will try using older Qt version and post results here in case someone hit the same problem

mlivesu commented 3 years ago

Thanks!

spolanski commented 3 years ago

Unfortunately, no difference. I tested Qt 5.6 and the error message is slightly different

Makefile:1218: recipe for target 'glwidget.o' failed make: *** [glwidget.o] Error 1

I thought it might be something to opengl and my setup, but I checked some other gui codes that use Qt and OpenGL and managed to set up them correctly. Also managed to compile examples from cinolib library. I am running out of ideas so any idea would be useful.

mlivesu commented 3 years ago

can you remember me what part of LoopyCuts is not compiling? Because the volumetric_cutter heavily uses cinolib for the GUI part, and the GL canvas it uses is indeed cinolib::GLcanvas. If you can compile the examples from my library I expect you to be able to compile the volumetric cutter as well