platformQT

Expanding and utilizing the engine via C++.
  • 1
  • 2
14 posts Page 2 of 2
buckmaster
Steering Committee
Steering Committee
Posts: 321
Joined: Thu Feb 05, 2015 1:02 am
by buckmaster » Fri Mar 13, 2015 1:34 am
How are static builds on various platforms? I confess it may be just me, but the process of trying to link anything in statically seems arcane. I haven't even begun to consider the licensing questions that arise between different forms of linking. But I do dislike having to plonk six different DLLs next to an executable, which is the current state of the Project Manager.
Hutch
Posts: 42
Joined: Tue Feb 03, 2015 11:12 pm
by Hutch » Fri Mar 13, 2015 5:10 am
How are static builds on various platforms? I confess it may be just me, but the process of trying to link anything in statically seems arcane. I haven't even begun to consider the licensing questions that arise between different forms of linking. But I do dislike having to plonk six different DLLs next to an executable, which is the current state of the Project Manager.
From what I can tell from reading the LGPL, you have to keep them as DLL/Dylib/SO. :) Unfortunatly, the LGPL requires you to dynamically link if your program isn't GPL or LGPL. I find embedded platforms to be a gray area in LGPL. apple makes it pretty clear you can't use it because, well...you have to static link on ios, but what about say andriod?

Here's a quick rundown of SDL2 from my knowledge:

- Backed by Valve and others
- It does not have networking, but whyyyyyy would you want to replace that anyways? That boggles my mind. (And there is always raknet too..)*******
- Officially supports Windows, OSX, Linux, Andriod, and iOS. There are unofficial platforms supported as well.
- It supports contexts for OpenGL and Direct3D.
- Has Input, Joystick, ect support
- Has Low level audio support
- Threading with Mutex, Semaphores, Condition Vars, Atomics, ect
- Video playback
- ZLib license.

****** I believe there is actually a networking library that goes with SDL under the zlib
LuisAntonRebollo
Steering Committee
Steering Committee
Posts: 19
Joined: Tue Feb 10, 2015 6:20 pm
by LuisAntonRebollo » Fri Mar 13, 2015 5:52 pm
Qt is a very good library but i dont like ... use a preprocesor pass for extend c++ language and i think is too much big for us.

SDL2 is a more small library we use for window and input, is used by Valve on all his Linux ports. With SDL and c++ library we have all we need. Permisive ZLIB license.

I want to clean platform code and improve SDL2 support for next release.

This is only my opinion :P

@ buckmaster, static linking is only a good option for small/simple libraries... more big projects some times need some custom memory allocators, compilers flags... this is a hell to handle.
elfprince13
Posts: 24
Joined: Mon Mar 09, 2015 3:41 am
 
by elfprince13 » Sun Mar 15, 2015 1:24 am
From what I can tell from reading the LGPL, you have to keep them as DLL/Dylib/SO. :) Unfortunatly, the LGPL requires you to dynamically link if your program isn't GPL or LGPL. I find embedded platforms to be a gray area in LGPL. apple makes it pretty clear you can't use it because, well...you have to static link on ios, but what about say andriod?
This isn't really true. The LGPL requires that you provide a way to relink your binaries. So if you want to (a) static link, and (b) be closed source (GPL vs non-GPL isn't an issue here, if the source is open), you have to provide an unlinked-object file with your release so that others can choose to relink. See section 4: https://www.gnu.org/copyleft/lesser.html#section4
- It does not have networking, but whyyyyyy would you want to replace that anyways? That boggles my mind. (And there is always raknet too..)*******
The point wouldn't be to "replace networking", it would be to have a unified code base for the socket-level stuff.


@ LuisAntonRebollo: We also really ought to clean up file-system access. Torque has a history of writing to badly behaved locations (assuming a program can write to the directory the executable is stored in as a really bad model.....), and Qt provides a nice abstraction for finding platform specific user-data locations, and the like. If you want to stick with something light-weight though, I have a project for the same purpose that has better directory-purpose coverage than SDL: https://github.com/elfprince13/libcrane
  • 1
  • 2
14 posts Page 2 of 2

Who is online

Users browsing this forum: No registered users and 3 guests