[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