Coder Social home page Coder Social logo

qcsxcad's People

Contributors

awzhy0yqh81uoyvh avatar biergaizi avatar guitorri avatar rdmitry avatar sibbi77 avatar stefanbruens avatar thliebig avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

qcsxcad's Issues

fatal error: 'QVTKWidget.h' file not found

/disk-samsung/freebsd-ports/cad/qcsxcad/work/QCSXCAD-0.6.2-5-g0dabbaf/export_x3d.cpp:20:10: fatal error: 'QVTKWidget.h' file not found
#include <QVTKWidget.h>
         ^~~~~~~~~~~~~~
1 error generated.

vtk-9.0.3 doesn't install QVTKWidget.h.

Qt6 Port Needed as Some Systems Start to Deprecate and Remove Qt5, Already Impossible to Install via macOS Homebrew

QCSXCAD is currently incompatible with Qt6, both in the build system and in the source code. A Qt6 port is needed as more and more systems will deprecate Qt6 in the following years. Because we're using VTK, it would happen at a much faster path before Qt5 itself is deprecated, since VTK is built with either Qt5 or Qt6. A Qt6 VTK build makes the QCSXCAD Qt6 port necessary.

The first deprecation has already occurred on macOS Homebrew as reported here (thliebig/openEMS-Project#108 (reply in thread)) by @valgamaa. In Homebrew, VTK is now built with Qt6, all Qt5 builds have already been disabled. Right now it's already impossible to install openEMS with Homebrew.

I already have an experimental CMake Qt6 port in my private repo, but some source code changes are also needed. I'll give it a try on my spare time.

Building on Enterprise Linux 8 (RHEL/Alma/Oracle/Rocky)

There is a a problem in Enterprise Linux 8 where VTK-QT is available as version 9, but OS only has QT 5 installed.additionally, forsome reason it does not detect the QT version.

While this is not production ready, it does allow cmake to complete and build successfully. I set version 4.5 even though it is using VTK-QT version 9, which triggers a build against qt5. There must be a better way to do this but I do not know what it is:

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 73329ec..05bae99 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -110,6 +110,8 @@ else()
 endif()
 
 message(STATUS "Found package VTK. Using version " ${VTK_VERSION})
+message(STATUS "Found package VTK QT. Using version " ${VTK_QT_VERSION})
+SET(VTK_QT_VERSION 4.5)
 INCLUDE_DIRECTORIES (${VTK_INCLUDE_DIRS})
 
 # Qt 

libQCSXCAD.so.0.6.2 doesn't have a SONAME

====> Running Q/A tests (stage-qa)
Warning: /disk-samsung/freebsd-ports/cad/qcsxcad/work/stage/usr/local/lib/libQCSXCAD.so.0.6.2 doesn't have a SONAME.
Warning: pkg(8) will not register it as being provided by the port.
Warning: If another port depend on it, pkg will not be able to know where it comes from.
Warning: It is directly in /usr/local/lib, it is probably used by other ports.

Fails to build with VTK-9.2.2: no member named 'GetRenderWindow' in 'QVTKOpenGLStereoWidget'; did you mean 'renderWindow'?

/wrkdirs/usr/ports/cad/qcsxcad/work/QCSXCAD-0.6.2-9-g3f09a8b/QVTKStructure.cpp:116:13: error: no member named 'GetRenderWindow' in 'QVTKOpenGLStereoWidget'; did you mean 'renderWindow'?
        VTKWidget->GetRenderWindow()->AddRenderer(ren);
                   ^~~~~~~~~~~~~~~
                   renderWindow
/usr/local/include/vtk-9.2/QVTKOpenGLStereoWidget.h:93:20: note: 'renderWindow' declared here
  vtkRenderWindow* renderWindow() const { return this->VTKOpenGLWindow->renderWindow(); }
                   ^

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.