-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Missing binding ? #14
Comments
QToolBar and QMenuBar already binding in qtwidgets module, see example: |
I may have misunderstood now but when I run the example I get this:
There is no Have I missed something in the make ? |
Please try to recompile lqt5, and then send the full compile log to this issue to show me to locate the problem. |
Command is
The content of out is (first 7% skipped because it is a re-compile?)
Command
is
In the cmake I used my own CMakeLists.txt to make it run under Linux. This meant deleting and adding to the original CMakeLists.txt. The contents of The file /home/test/projects/alben/lqt/CMakeLists.txt is:
|
Lots of error message: |
I compile on Linux Mint 19.3 kernel 5.3.0-53-generic. Qt version is 5.12. I have not modified any files in lqt except CMakeLists.txt (this was necessary to compile on Linux, see above). In my experience Linux is a lot more case-sensitive than Windows. Linux may also use a different text encoding and may not interpret symbols the same way. Just my guess. If you please, I can download and cmake/make a totally new lqt. |
It may be a platform compatibility problem of cpptoxml, or a problem caused by a certain c++ macro that is not defined. You can try to debug this program to see how this error occurs? |
Run
Debug Target and Executable
Program arguments
Stack when first error
Stack when second error
For QtUiTools it was the same
with the same two Debug stacks. Tried to locate the position in the source file with rename QtWidgets.lqt to QtWidgets.cpp and
but it gave no meaningful result for either QtWidgets.lqt or QtUiTools.lqt (the line 332 in QtWidgets.lqt is a line past a forward class defintion). It reported a number of errors though. What macro is not defined ? |
Modify CMakeLists.txt, change these lines:
To:
Maybe it works. |
It didn't seem to work. I have done some more debugging. In the debugger an Evaluate Expression like this
with Program arguments
at
gave
The last statements must be from QtUiTools/qtuitoolsversion.lqt Is the repetition of statements correct? Why is QtUiTools.lqt repeated? The error is reported to be at the end of the line (in quotes):
just at the \n\n\n I will do more debugging later. |
Hello. Sorry for being away awhile. The errors
likely come from a missing closure of a class. I can print out an arbitrary large segment (with I noticed that if I change cmake from version 3.10 to 3.18 cpptoxml will not compile at all but produce strange errors in system files. I am not expert at all regarding cmake so I will not go into this. The source code of cpptoxml is like 10 years old. Does it have something to do with compiling 64-bit? Have you been able to compile a Windows 64-bit version? I noticed another thing. In the file lqt/generator/schema/QtOpenGL/qgl.lqt this code is found on lines 79-81:
This generates a ** PARSER ERROR unexpected token ``namespace'' message. Is there any alternative to cpptoxml? Can it be rewritten or regenerated? I need this to work because it's likely the reason why not all bindings are present. The whole issue is complicated by the fact that I use Qt Lite to make minimum builds. The libraries must be distributed and can not be over a certain size. |
This problem should be caused by the compatibility of cpptoxml. I have successfully compiled/run this project on mac and windows platforms (currently my company’s products use this project, and there are release versions under windows and mac), but Have not tested the Linux platform alone; The code of cpptoxml is too old to parse the original Qt5 header files (new C++ syntax), which is why I made a bunch of lqt files (modified part of the Qt5 source file syntax for compatibility with cpptoxml); A more reasonable alternative to cpptoxml is to use libclang to parse the header file and generate an xml file compatible with cpptoxml format. However, this work should not be achieved in the short term, and more effort is needed to implement it. |
Is it true that classes QMenuBar and QToolBar are not implemented in lqt? Any specific reason for that?
It would be helpful to have a list of implemented, partially implemented, not implemented and never to be implemented Qt class bindings .... at least such a list for modules QtCore, QtGui and QtWidgets.
The text was updated successfully, but these errors were encountered: