I’ve been programming with the AAF WinSDK for many years but recently I’ve been asked to extend one of my apps to run under Linux. I’ve no experience of the Linux build (nor in fact, any experience of Linux) but I can think of some obvious questions:-
1) My existing build contains a main makefile and several “.dsp” project files which are recognised by Visual C++. There don’t seem to be any project files for other visual IDE’s, such as Borland (although I haven’t looked very hard). Is the same scenario true for the Linux build? Are there any project files available for specific IDE’s and if so, what is/what are the recommended IDE’s?
2) Under the AAF WinSDK, the target files are DLL’s. AFAIK the nearest equivalent for Linux is the “shared object” file. Does the Linux SDK build these “SO” files or something else?
4) My WinSDK uses COM as a wrapper for the common functionality (Impl branch). Is this still the case under Linux or does Linux use an alternative wrapper (e.g. CORBA?)
4) Any other issues relating to AAF & Linux that I need to find out about?
Oops - two number 4's, sorry... :-)
And my answers are
1. There are no IDEs recommneded for Linux and under linux there are a range of options. None are a capable as VS. I personally use kdevelop (http://www.kdevelop.org). Another popular choice for linux developers is Eclipse.
2. Yes AAFSDK makes shared objects.
3. Under Unix the com interface is emulated, is I suppose the best simplest way od desribing it. In the Notes to devleopers it says it works by magic, and as far as I can see this is probably the best way to think of it.
4. Probably but you have enough now to get started
Many thanks Ian. You've given me plenty of food for thought there! Especially with this comment.... " 3. Under Unix the com interface is emulated "
Over the years I've picked up little clues in the code (more likely, red herrings!) that COM is simulated, even under Windows. I'm not complaining because it works just fine but can anyone confirm whether or not this is so?
Log in to post a comment.