[Interest] How to include a Objective-C project as a .pri?
Nuno Santos
nunosantos at imaginando.pt
Fri Jul 17 12:12:21 CEST 2015
Ok… found:
QMAKE_CFLAGS += -fobjc-arc
Thanks!
Nuno Santos
Founder / CEO / CTO
www.imaginando.pt
+351 91 621 69 62
> On 17 Jul 2015, at 11:03, Nuno Santos <nunosantos at imaginando.pt> wrote:
>
> Ok, I have found the problem. The lib comes with a .pch file with the following content:
>
> //
> // Prefix header for all source files of the 'AEAudioController' target in the 'AEAudioController' project
> //
>
> #ifdef __OBJC__
> #import <Foundation/Foundation.h>
> #endif
>
> I have added the qmake variable:
>
> PRECOMPILED_HEADER += $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/TheAmazingAudioEngine-Prefix.pch
>
> It is now compiling. Only one error left:
>
> @synthesize of 'weak' property is only allowed in ARC or GC mode
>
> Does anyone knows how can I enabled ARC from .pro file?
>
> Thanks,
>
> Nuno Santos
> Founder / CEO / CTO
> www.imaginando.pt <http://www.imaginando.pt/>
> +351 91 621 69 62
>
>> On 17 Jul 2015, at 10:32, Nuno Santos <nunosantos at imaginando.pt <mailto:nunosantos at imaginando.pt>> wrote:
>>
>> Hi,
>>
>> I’m trying to add an Objective-C project as .pri
>>
>> However, during compiling for iOS-clang, it complains about not knowing about NSObject and BOOL types. Isn’t this supposed to be part of the iOS-clang compilator knowledge?
>>
>> This is my .pri file. I have added TheAmazingAudioEngine as a git submodule:
>>
>> ios {
>> HEADERS += $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/TheAmazingAudioEngine.h \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioController+Audiobus.h \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioController+AudiobusStub.h \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioController.h \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioFileLoaderOperation.h \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioFilePlayer.h \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioFileWriter.h \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioUnitChannel.h \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioUnitFilter.h \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEBlockAudioReceiver.h \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEBlockChannel.h \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEBlockFilter.h \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEBlockScheduler.h \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEFloatConverter.h \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEUtilities.h \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/TheAmazingAudioEngine-Prefix.pch \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/Library/TPCircularBuffer/TPCircularBuffer.h \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/Library/TPCircularBuffer/TPCircularBuffer+AudioBufferList.h
>>
>> OBJECTIVE_SOURCES += $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioController+Audiobus.m \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioController.m \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioFileLoaderOperation.m \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioFilePlayer.m \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioFileWriter.m \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioUnitChannel.m \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioUnitFilter.m \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEBlockAudioReceiver.m \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEBlockChannel.m \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEBlockFilter.m \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEBlockScheduler.m \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEFloatConverter.m
>>
>>
>> SOURCES += $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/AEUtilities.c \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/Library/TPCircularBuffer/TPCircularBuffer.c \
>> $$PWD/TheAmazingAudioEngine/TheAmazingAudioEngine/Library/TPCircularBuffer/TPCircularBuffer+AudioBufferList.c
>> }
>>
>> The instructions for this lib relies in adding their xcode project to the xcode project but I usually use QtCreator to manage my projects and I only generate the xcode project for deploying.
>>
>> This is the kind of errors:
>>
>> In file included from /Users/nsantos/Dropbox/workspace/drc/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioController.m:26:
>> /Users/nsantos/Dropbox/workspace/drc/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioController.h:141:28: error: cannot find protocol declaration for 'NSObject'
>> @protocol AEAudioPlayable <NSObject>
>> ^
>> /Users/nsantos/Dropbox/workspace/drc/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioController.h:184:33: error: unknown type name 'BOOL'
>> @property (nonatomic, readonly) BOOL channelIsPlaying;
>> ^
>> /Users/nsantos/Dropbox/workspace/drc/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioController.h:194:33: error: unknown type name 'BOOL'
>> @property (nonatomic, readonly) BOOL channelIsMuted;
>> ^
>> /Users/nsantos/Dropbox/workspace/drc/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioController.h:249:28: error: cannot find protocol declaration for 'NSObject'
>> @protocol AEAudioReceiver <NSObject>
>> ^
>> /Users/nsantos/Dropbox/workspace/drc/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioController.h:328:26: error: cannot find protocol declaration for 'NSObject'
>> @protocol AEAudioFilter <NSObject>
>> ^
>> /Users/nsantos/Dropbox/workspace/drc/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioController.h:396:34: error: cannot find protocol declaration for 'NSObject'
>> @protocol AEAudioTimingReceiver <NSObject>
>> ^
>> /Users/nsantos/Dropbox/workspace/drc/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioController.h:442:32: error: cannot find interface declaration for 'NSObject', superclass of 'AEAudioController'
>> @interface AEAudioController : NSObject
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
>> /Users/nsantos/Dropbox/workspace/drc/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioController.h:478:4: error: expected a type
>> + (BOOL)voiceProcessingAvailable;
>> ^
>> /Users/nsantos/Dropbox/workspace/drc/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioController.h:478:1: warning: method has no return type specified; defaults to 'id' [-Wmissing-method-return-type]
>> + (BOOL)voiceProcessingAvailable;
>> ^
>> (id)
>> /Users/nsantos/Dropbox/workspace/drc/TheAmazingAudioEngine/TheAmazingAudioEngine/AEAudioController.h:500:92: error: expected a type
>> - (id)initWithAudioDescription:(AudioStreamBasicDescription)audioDescription inputEnabled:(BOOL)enableInput;
>>
>> Any ideas?
>>
>> Thanks in advance,
>>
>> Regards,
>>
>> Nuno
>> _______________________________________________
>> Interest mailing list
>> Interest at qt-project.org <mailto:Interest at qt-project.org>
>> http://lists.qt-project.org/mailman/listinfo/interest
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20150717/ddeea4c7/attachment.html>
More information about the Interest
mailing list