www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - QtD fails to build on Arch Linux

reply "Tyler Jameson Little" <beatgammit gmail.com> writes:
I'm on 64-bit, so I've used the 64-bit patch [1] on bitbucket to 
get the compile started. I get a lot of these errors:

	[  3%] Building CXX object 
CMakeFiles/cpp_core.dir/cpp/qt_core/QAbstractItemModel_shell.cpp.o
	/home/otto/sandbox/qtd/build_dir/build/cpp/qt_core/QAbstract
temModel_shell.cpp: 
In member function ‘virtual QModelIndex 
QAbstractItemModel_QtDShell::buddy(const QModelIndex&) const’:
	/home/otto/sandbox/qtd/build_dir/build/cpp/qt_core/QAbstractItemMod
l_shell.cpp:83:141: 
error: taking address of temporary [-fpermissive]
		 
qtd_QAbstractItemModel_buddy_QModelIndex_const_dispatch(QObjectLink:
getLink(this)->dId, 
&__d_return_value, &qtd_from_QModelIndex(index0));

I'm using gcc 4.8 if that makes a difference.

I've noticed that the original developers have more or less 
abandoned it (a patch for finding 64-bit dmd sits in the issue 
tracker gathering dust), but it seems to be the only Qt binding 
out there. I've noticed on the D forums that the developers have 
possibly lost interest [2].

So, has anyone else had problems building QtD recently? Is there 
any community interest in maintaining it?

If people need it, I'd consider looking into fixing the current 
build status, but I can't commit to maintaining it long-term 
since I don't have any active projects that need it. I may in the 
future, hence the tentative offer to help.

[1] 
https://bitbucket.org/qtd/repo/issue/4/cmake-finding-dmd#comment-4087437
[2] 
http://forum.dlang.org/thread/mailman.461.1349112690.5162.digitalmars-d puremagic.com
May 18 2013
next sibling parent "Igor Stepanov" <wazar.leollone yahoo.com> writes:
On Saturday, 18 May 2013 at 17:24:21 UTC, Tyler Jameson Little 
wrote:
 I'm on 64-bit, so I've used the 64-bit patch [1] on bitbucket 
 to get the compile started. I get a lot of these errors:

 	[  3%] Building CXX object 
 CMakeFiles/cpp_core.dir/cpp/qt_core/QAbstractItemModel_shell.cpp.o
 	/home/otto/sandbox/qtd/build_dir/build/cpp/qt_core/QAbstract
temModel_shell.cpp: 
 In member function ‘virtual QModelIndex 
 QAbstractItemModel_QtDShell::buddy(const QModelIndex&) const’:
 	/home/otto/sandbox/qtd/build_dir/build/cpp/qt_core/QAbstractItemMod
l_shell.cpp:83:141: 
 error: taking address of temporary [-fpermissive]
 		 
 qtd_QAbstractItemModel_buddy_QModelIndex_const_dispatch(QObjectLink:
getLink(this)->dId, 
 &__d_return_value, &qtd_from_QModelIndex(index0));

 I'm using gcc 4.8 if that makes a difference.

 I've noticed that the original developers have more or less 
 abandoned it (a patch for finding 64-bit dmd sits in the issue 
 tracker gathering dust), but it seems to be the only Qt binding 
 out there. I've noticed on the D forums that the developers 
 have possibly lost interest [2].

 So, has anyone else had problems building QtD recently? Is 
 there any community interest in maintaining it?

 If people need it, I'd consider looking into fixing the current 
 build status, but I can't commit to maintaining it long-term 
 since I don't have any active projects that need it. I may in 
 the future, hence the tentative offer to help.

 [1] 
 https://bitbucket.org/qtd/repo/issue/4/cmake-finding-dmd#comment-4087437
 [2] 
 http://forum.dlang.org/thread/mailman.461.1349112690.5162.digitalmars-d puremagic.com

This project very interest for me. But current QtD is supports only 4.8 Qt version. If anybody wants to revive this project and know something about Qt binding specific (this is not simple c++ binding, as I know. How bind QT_OBJECT macros?), I can to help him. Anyway, if someone tell me about QtD develop ideas, I'll be very grateful:) About this build trouble: add -fpermissive to CXXFLAGS and all will be builded and work correctly (to the best of my memory)
May 18 2013
prev sibling next sibling parent "Tyler Jameson Little" <beatgammit gmail.com> writes:
 This project very interest for me. But current QtD is supports 
 only 4.8 Qt version. If anybody wants to revive this project 
 and know something about Qt binding specific (this is not 
 simple c++ binding, as I know. How bind QT_OBJECT macros?), I 
 can to help him. Anyway, if someone tell me about QtD develop 
 ideas, I'll be very grateful:)

I'd like to get this working with Qt5, but I don't even know where to begin. If I get time, I'll start diving into the code to see if I can figure something out. Concerning that, would you find it advantageous to support both Qt4 and Qt5? Also, what about dynamic vs static bindings? [1]
 About this build trouble: add -fpermissive to CXXFLAGS and all 
 will be builded and work correctly (to the best of my memory)

Thanks, that works, but it saddens me to do this. Since I'm new to the project, I don't know if that's a binding issue or if it's a Qt one. I've adopted the package on the AUR and I'll be updating the PKGBUILD with the flag. [1] http://www.gamedev.net/page/resources/_/technical/game-programming/binding-d-to-c-r3122
May 18 2013
prev sibling next sibling parent "Tyler Jameson Little" <beatgammit gmail.com> writes:
Hrm, now I'm getting something else:

     /home/otto/aur/qtd/src/qtd/d2/qt/core/QSize.d(62): Error: 
function qt.core.QSize.QSize.scale (int w, int h, AspectRatioMode 
mode) is not callable using argument types (QSize,AspectRatioMode)
     /home/otto/aur/qtd/src/qtd/d2/qt/core/QSize.d(62): Error: 
function qt.core.QSize.QSize.scale (int w, int h, AspectRatioMode 
mode) is not callable using argument types (QSize,AspectRatioMode)
     /home/otto/aur/qtd/src/qtd/d2/qt/core/QSize.d(62): Error: 
(QSize __ctmp1680 = 0;
  , __ctmp1680).this(w, h) is not an lvalue
     /home/otto/aur/qtd/src/qtd/d2/qtd/MOC.d(181): Deprecation: 
variable modified in foreach body requires ref storage class

This doesn't seem as easy to work around. I'll have to dig into 
the code. Running:

* gcc 4.8
* qt  4.8.4

Still looking into it.
May 18 2013
prev sibling parent "w0rp" <devw0rp gmail.com> writes:
I am very interested in seeing some updated bindings for Qt in D. 
I would even like to contribute to a revival project in some 
fashion. (Even though thinking about how bindings for Qt's 
classes and macros work makes my head spin.) My best experience 
in producing a GUI application thus far has been with Python and 
PySide. I think strong and up-to-date bindings for Qt in D could 
make GUI application programming even nicer than GUI programming 
in Python. This would be very good for D's PR.
May 19 2013