[Interest] How to include a Objective-C project as a .pri?

Nuno Santos nunosantos at imaginando.pt
Fri Jul 17 11:32:26 CEST 2015


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20150717/4b4c035b/attachment.html>


More information about the Interest mailing list