I am currently looking at using the CUDA supported codebase within PCL 1.9.1 , in an attempt to improve the performance of a 3D SLAM algorithm which I am testing, via CUDA.
I am facing issues compiling and noticed that the header files for the pcl_cuda namespace was not installed via "make install". Further search brought me to this issue opened two years back where the development of the CUDA implementations have been dropped (https://github.com/PointCloudLibrary/pcl/issues/2021)
Are anyone aware on the current status on the CUDA support for PCL?
Thanks
CUDA support in PCL was and is highly experimental and is currently under maintenance mode only i.e., no new features are expected to be added in the near future. As mentioned in the issue you linked, the original developers are no longer active in the project.
That being said, you can still compile and install both cuda and gpu modules. So the fact that they are not being installed is a whole different topic. Did you enable
cmake .. -DBUILD_CUDA=ON
when invoking cmake the first time? These modules are not enabled by default, so you need to compile pcl from source to enable them.
I am posting this to know whether a media player can be developed with Qt5 without using gstreamer plugins as backend.Is there any other backend engine available in embedded linux platform to play media files other than gstreamer. I am using intel X86 32 bit architecture.
Thanks in advance.
Just checked the Qt5 plugin sources (/qt5/qtmultimedia/src/plugins) and it seems like gstreamer is the only option for linux. Phonon has been dropped in Qt5.
If you want to use phonon you'll have to stick with Qt 4.8.
Qt5 on Linux only supports gstreamer by using the plugins in http://qt.gitorious.org/qt/qtmultimedia/trees/stable/src/plugins. Of course you can write your own plugin using ffmpeg or whatever you want. This is pretty simple, but entirely depends in the performance you need.
Phonon was available in Qt 4, but AFAIK Phonon is gstreamer based again. There is also a project to create a vlc-based Phonon, but I don't really know how it works (https://projects.kde.org/projects/kdesupport/phonon).
However, you don't specify your specific target, but if you want to achieve acceptable performance for graphics and/or video on embedded devices, you probably really need hardware acceleration. And Phonon will hardly help you with this. Also consider that Qt 4 is old: it misses years of development.
I'm also writing a Qt5 backend using OpenMAX and ffmpeg: http://thebugfreeblog.blogspot.it/2013/04/hardware-accelerated-qtmultimedia.html. It might be an example if you need to write your own.
Also consider that the errors you reported (why reporting in an answert?) seem to suggest you built gstreamer wrong.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
I'm developing an application with the Qt open source edition. As I don't want to deliver the Microsoft Visual Visual C(++) redistributables, I'd like to use a static-linked version of Qt.
The Qt licensing information says that I "should" develop with a commercial Qt license if I want to use static linking in my application, although when I use the configure -static command for building a static Qt library the command prompt asks me if I use the commercial or open source version of Qt.
So it is possible to build Qt with the open source version? Do I need the commercial edition to use static linking? I won't sell the application.
EDIT April 2016
Actually, I have recently been reading in depth about LGPL, and asking some experts on the subject. Turns out that the inability to use static linking for Qt in closed source applications is more of a cultivated legend and has nothing to do with reality.
What LGPL requires is the possibility for the end user to relink the application against a different version of the library. Using dynamic linking is one way to achieve that, but you can just as easily provide your object files, this way you don't have to open your source and the LGPL requirement is still satisfied.
On the Qt website there are 2 legal FAQs and in neither of them is it directly stated that you can't do it. Just as it is not stated that you can. However, there are at least several instances of implying a vague legal threat in case that you do. I think there is a good explanation for all of those - they can't say that you can't do it without publishing a practical lie which may as well have negative legal repercussions for them, and they are willing to discourage doing that rather than encourage it, as it has the potential to force more people into purchasing a commercial license.
So in short, yes you can, and you most definitely should as lately Qt has become a living deployment hell, plus as of Qt 5.7 in a static build, QML files are tucked neatly in the executable rather than being out on the file system, for anyone to tamper with. Just make sure that:
your Qt build only contains modules, licensed under LGPL, and nothing GPL
the about section of your app mentions that it is using Qt and contains a link to where you can download the application's object files
include all the respective license files with your application
Lastly, your application actually has to be "relinkable", that is, it must be able to work with a compatible library version that provides the necessary functionality. Which means that if you have made modifications to Qt before building it, you must provide those in the form of source code as well, but only the modifications to Qt, not your application's source code.
Update:
Here is an excerpt directly from the GNU FAQ:
For the purpose of complying with the LGPL (any extant version: v2,
v2.1 or v3):
(1) If you statically link against an LGPL'd library, you must also provide your application in an object (not necessarily source)
format, so that a user has the opportunity to modify the library and
relink the application.
That states it pretty clear.
The old, original answer:
It is possible to build Qt statically as long as your application is open-source and you provide the source. If you want to keep your source closed, you either need an expensive commercial license, or you need to use dynamic linking.
BTW using a static build of Qt is pretty nice, for Qt5 I get about 7-8 MB executable with no external dependencies, which is much better than the 20+ MB of additional dll's you have to ship with a dynamically linked app.
For more information, you can take a look at this video: Making the correct license choice when developing with Qt
All in all, can it be done? 100% yes. Should it be done? It depends, for personal/testing/learning purposes it is 100% OK, however if you plan to distribute production grade software, be that commercially or not, open source or not, you'd better first consult with a lawyer. The whole subject is unnecessarily complicated, subject to interpretation, so that the consultation with a lawyer becomes more expensive than a pricey commercial license.
The answer is Yes, if you are willing to open source your application.
According to the Qt-Project's own interpretation of the licenses they use, if you dynamically link to the Qt libraries your application can be either closed source or open. If you statically link, however, your application is subject to the terms of the LGPL.
The exact language the Qt Project uses is this:
In case of dynamic linking, it is possible, but not mandatory, to keep
application source code proprietary as long as it is “work that uses
the library” - typically achieved via dynamic linking of the library.
In case of static linking of the library, the application itself may
no longer be “work that uses the library” and thus become subject to
LGPL. It is recommended to either link dynamically, or provide the
application source code to the user under LGPL.
(http://qt-project.org/legal.html)
The suggestion in some of the other answers that the situation is "not at all clear" is simply untrue - The Qt Project has tried to be abundantly clear about in what circumstances usage of the LGPL license is permissible, and static linking is one of those as long as the app is also LGPL.
Since the original question specifies non-commercial (not necessarily open source), the asker will need to decide whether they can allow distribution under the LGPL (or GPL by extension, as the above page also says "LGPL can be converted to GNU General Public License").
I wanted to ask whether it is possible to make an firefox addon using Qt.If possible how can I do that ?
See the Qt Browser Plugin example from Nokia/Digia/etc. Was part of Qt Solutions (now discontinued, but is under the BSD license and since it used Qt 4.x when it was supported, should still be usable, just a little dusty. Expect a bit of work to compile it at first, though).
It supports creating a NPAPI plugin. You can find the READEME at http://qt.gitorious.org/qt-solutions/qt-solutions/blobs/master/qtbrowserplugin/README.TXT - and all the other files are in the same directory.
The documentation is also available: http://doc.qt.digia.com/solutions/4/qtbrowserplugin/
I need to have my application translated into many different languages, I have the translators and know that I can use Qt Linguist. However as far as I can tell I have to package up Linguist myself and ship it out to the translators.
Is there a web-based solution or do other package Qt Linguist with the ts files?
I think you have to package it up yourself. However, while browsing qt-apps.org the other day I did come across Qt Linguist Download which seems to be a packaged version of Linguist designed to address exactly this need. I have not actually used this myself - our translation is done in-house so we have not had this particular issue.