a lot of quicktime examples refer to QTAtomContainer to set Movie export parameters.
I've got all that working code from ancient times. Now I am using xcode 4 and the compiler cannot find QTAtomContainer. According to Apples documentation this should be declared in Movie.h. But there is no QTAtomContainer. Does someone know where Apple moved this declaration into or which header I am missing?
I finally I found the problem. In Quicktime a lot of symbols are defined !ONLY! if your xcode-project compiles in PLAIN 32-Bit mode. Universal binaries using "Standard (32/64 bit-Intel)" or just 64-Bit will never find these symbols. ("Standard (32/64 bit-Intel)" is the default setting of the actual xcode 4 series compiler. IMHO Quicktime will/must change. Lion will be shipped with 64Bit by default)
In "QuickTime/QuicktimeComponents.h" you will find the following line:
#if !__LP64__
That means if 64 Bit-Code is defined at least once, the compiler will not find the symbols
QTAtomContainer
MovieExportGetSettingsAsAtomContainer
MovieExportComponent
canMovieExportFiles
which have been missing until now. Now I can successfully use the example to set the VideoQuality settings in Quicktime using the QTMovieExportSettings key, which you can find here:
http://www.cocoadev.com/index.pl?QTMovieExportSettings
I am using the following headers:
#import <QuickTime/QuickTime.h>
#import <QuickTime/Movies.h>
#import <QTKit/QTKit.h>
These headers implicitly include "QuickTime/QuicktimeComponents.h"
Hope I could help someone else who struggled with this problem.
Greetings
Jack
Thanks for this! Four years later and I'm developing for OS X 10.7, this saved me lots of time, I'm sure.
Related
I have just started (again!) Programming 16-bit Microcontrollers in C, Learning to Fly the PIC24
MPLAB has changed a bit since I last used it!
One of the first things I am meant to do is install the C30 or XC16 compiler. I installed the XC16 compiler and shortly later I am instructed as follows:
From the MPLAB X main menu, select: File> NewFile...
Choose File Type: in the categories panel, expand the Microchip Embedded folder and click on the C30 compiler. In the file types panel select the mainp24f.c type.
The only option is main.c
I installed the C30 compiler from here (https://www.microchip.com/development-tools/downloads-archive) but still only see the main.c option.
What am I doing wrong?
The book you linked is 6 years old, so it's very likely those instructions could be rendered out of date by new versions of the toolchains/IDE.
It doesn't actually matter what your .c file is called. As long as you have a main() function to enter. Using the "main.c" it gives you should be fine.
I would also recommend using XC16 if possible. C30 is no longer updated and is now considered legacy
Use these code examples and user guides to get started with the 16-bit PIC devices.
MPLABĀ® XC16 User's Guide for Embedded Engineers: http://www.microchip.com/mymicrochip/filehandler.aspx?ddocname=en584558
MPLABĀ® XC16 User's Guide for Embedded Engineers Code Example: http://www.microchip.com/mymicrochip/filehandler.aspx?ddocname=en584564
I am making a cydia tweak with a preference bundle using theos in my iPhone
But I'm getting this error!
This is the code I have in:
PSListController
(I have no idea where is the error in my code. The code is too long to paste here. I made a link to my codes)
http://pastebin.com/gQvYvB89
How do I solve this problem?
This isn't an answer but it won't allow me to comment.
A good alternative to IOSOpenDev is Theos, this is more like you are used to as it works the same as on your iphone. You use the make command and have templates.
Installation is fairly involved but here is a good guide.
http://brandontreb.com/beginning-jailbroken-ios-development-getting-the-tools
You should add #import <UIKit/UIKit.h> at the beginning of the header file (this is a common thing: if you encounter a system defined class or protocol - basically every class that starts with NS or UI and some others - you should remove the header generated by class-dump and import the system header, this will save you a lot of headaches).
By the way, you should really NOT compile stuff on device because the GCC that there's on Cydia is very outdated (I think it's from the iOS 3.x days) and using Theos is a pain in the ass anyway: there is another framework that'll help you building preference bundles (and tweaks, siri extensions, toggles for SBSettings, ...), it's called iOSOpenDev and it lets you use Xcode for these projects, which is a MAJOR improvement over compiling on device from the command line (so without code completion, syntax highlighting and all those great improvements Xcode can give you).
PS: if you choose to move to iOSOpenDev feel free to ask for explanations, I have some experience with it ;)
I've set up VES and am modifying the Kiwiviewer app in XCode 4.3.2. Kiwi builds and runs fine, so I'm now trying to set up Sudzc within my app (it works fine standalone). I've followed the tutorial here but at the point after modifying the headers, where his app builds and runs, mine instead comes up with a succession of errors. At first, it gives >150 errors all along the lines of:
Lexical or Preprocessor Issue
Invalid token at start of a preprocessor expression
Mostly pointing at the line
#include "xmlversion.h"
in a file tree.h, which is a part of vtkmodular/Utilities/vtklibxml2/include/libxml/tree.h.
Changing the " " to < > (which was suggested for a similar problem) instead gives another Lexical or Preprocessor Issue, this time that 'xmlversion.h' file not found - seemingly all in the file tree.h. The file's in my Project Navigator (and cmd-clicking on #include "xmlversion.h" does indeed load the file, so it understands it that way).
Presumably then the problem is with vtk having its own version of libxml2? If this is the case - what can I do about this? All of the errors I've looked at seem to originate from within soap handler classes, and eventually get through to "include < libxml/tree.h>" - which is then in the vtk directory shown above. I'm not really sure where to go from here - is it wrong to include the library that's added in the instructions? Can/should I modify the header paths? If this isn't the tree.h the rest of the code is looking for, where is it - a quick system search didn't find it?
Or am I completely off the mark?
Thanks in advance!
I got an answer from the VES Mailing List, link here. It ended up being as simple as removing the VTK version of libxml2, which it seems VES doesn't use. Hope this might be of use to someone!
I have a code base which compiles fine in all other NEON compilers, ndk-build, RVDS, etc, but under Xcode I get the error "bad instruction" for every NEON instruction I call. It basically seems like NEON is not detected.
I am attempting to build a static library, I went to New Project, selected Cocoa Touch Static Library, then added my existing files.
Everything I'm reading indicates that NEON should be already enabled. I removed all references to armv6, and am targeting iOS 5.1
Also the code in question is all contained as routines defined in ".s" files -- pure assembly. I am not using the intrinsics method calls.
It seems like the compiler is barfing on the whole file...
Unknown pseudo-op: .cpu
It lists all of the other settings, like .fpu, etc
Here are my current settings:
(source: wasteonline.net)
(source: wasteonline.net)
(source: wasteonline.net)
After the as tool I mentioned in my last answer turned out to be choking on my syntax as well, I realized there must be something else going on.
I followed the guidelines on the bottom of this post http://www.shervinemami.info/armAssembly.html#template
The changes I needed to make were:
converted my instructions to all lower case
use the naming directives to be compatible with mach-o (solved linker problems)
Try to use GCC4.2. I solved a very similar problem switching to the old, good GCC.
In Build Settings -> Compiler for C/C++/Objective-C, select GCC
Actually, if you check the LLVM ARM status page, you'll see that it cannot yet parse .S files.
Good day
I have created a static library with Xcode. Then I compiled my ANE using adobe's ADT tool. Thereafter I've included the ANE in my FlashBuilder project. However, when attempting to package my project, I get the following error:
"Error occurred while packaging the application:
Undefined Symbols: "_obj_storeStrong", referenced from ...
.
"_obj_release", referenced from ...
.
"
My guess is that ARC is probably not supported for ANE's. I'm guessing that this is probably due to the fact that FlashBuilder is recompiling the entire AIR + the native libs into one iOS application, probably using their own compiler or something (which is why Air apps for iOS can be compiled on windows platforms as well), and this compiler is probably not 4.3 ready yet?
I have attempted adding the flag -fobjc-arc to my ios-platformoptions.xml as well (where this file is the parameter to the -platformoptions flag of adt), but still no joy. It results once again in an error when packaging. Perhaps any other flag I can try to use here?
Any corrections, suggestions, alternative ideas or comments will be most welcome. I am very new to Xcode, Objective C and ANE, so please excuse any incorrect statements or assumptions, and please correct me on these.
I would be glad if somebody can please confirm weather I am correct with my assumption that I cannot use ARC at this stage on ANE's.
Thanks
Christo
START EDIT:
Very late update, sorry.
You might be able to use ARC after all. There is a library called arc lite that I forgot to mention and it works. I created an ANE for MapKit on iOS targeting the 5.0.x SDK. When I tried to move to a device that only had 4.3.x ( could have been 4.3.3 or 4.3.5 ) the app crashed or would not compile. I found information on the arc lite library that is included in the newer sdks, followed the instructions on how to include this library and pow! A working ANE on a 4.3.x device without rewriting my code!
Hope all of this helps and half of my original comment :)
Markus
END EDIT
I don't think ARC is supported just yet. There isn't much to go on in terms of settings or examples of what the settings should be in Xcode. Take a look at any of the Xcode ANE projects you can get your hands on. You will see that most or all of the projects have:
Object-C Automatice Reference counting = NO
Objective-C++ Automatic Reference counting = NO
Take a look at the following:
Vibration ANE - On Adobe Devnet site
Liquid Photo - http://www.liquid-photo.com/2011/10/30/common-native-extension-issues/
Liquid Photo - http://www.liquid-photo.com/2011/10/28/native-extension-for-adobe-air-and-ios-101/
There are a lot of examples in Github but you have to find them via Google. Pull down the Xcode ANE projects and compare the settings.
Hope this helps!!!
Markus