Wie füge ich einem FireBreath-Projekt Objective C-Code hinzu?

Ich schreibe ein Browser-Plugin für Mac OS, das ein Statusleistensymbol in die Statusleiste einfügt, über das Benutzer mit dem Browser-Plugin kommunizieren können. Ich habe erfolgreich ein FireBreath 1.6-Projekt in XCode 4.4.1 erstellt und kann es im Browser installieren. FireBreath verwendet jedoch C ++, während ein Großteil der vorhandenen Bibliotheken für Mac OS in Objective C geschrieben ist.

In der Datei /Mac/projectDef.make habe ich das Cocoa Framework und das Foundation Framework hinzugefügt, wie vorgeschlagenHie und in anderen Ressourcen, die ich im Internet gefunden habe:

target_link_libraries(${PROJECT_NAME}
    ${PLUGIN_INTERNAL_DEPS}
    ${Cocoa.framework} # added line
    ${Foundation.framework} # added line
)

Ich reran prepmac.sh und erwarte, dass ein neues Projekt in XCode mit meinen .mm- und .m-Dateien erstellt wird. Es scheint jedoch, dass sie ignoriert werden. Ich sehe nur die CPP- und H-Dateien. Ich habe Regeln für diese in der Datei projectDef.make hinzugefügt, aber es scheint keinen Unterschied zu machen:

file (GLOB PLATFORM RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
    Mac/[^.]*.cpp
    Mac/[^.]*.h
    Mac/[^.]*.m    #added by me
    Mac/[^.]*.mm   #added by me
    Mac/[^.]*.cmake
)

Auch wenn ich die Dateien manuell hinzufüge, erhalte ich eine Reihe von Kompilierungsfehlern. Es gibt ungefähr 20 von ihnen, alle im Zusammenhang mit der DateiNSObjRuntime.h Datei

Parse Issue - Expected unqualified-id
Parse Issue - Unknown type name 'NSString'
Semantic Issue - Use of undeclared identifier 'NSString'
Parse Issue - Unknown type name 'NSString'
...
...
Semantic Issue - Use of undeclared identifier 'aSelectorName'
...
...
Semantic Issue - Use of undeclared identifier 'aClassName'
...

Es geht noch einige Zeit so mit ähnlichen Fehlern weiter ...

Von dem, was ich gelesen habe, erscheinen diese Fehler aufgrund von Abhängigkeiten vom Foundation Framework, von dem ich glaube, dass ich sie in das Projekt aufgenommen habe. Ich habe auch versucht, auf das Projekt in XCode @ zu klicke

Ich bin jetzt so weit, dass ich mir nicht sicher bin, was ich als nächstes versuchen soll. Die Leute sagen, dass es nicht schwer ist, Objective C in C / C ++ - Code zu verwenden, aber dass XCode und Objective C neu sind, könnte zu meiner Verwirrung beitragen. Dies ist nur Tag 4 für mich in dieser neuen Plattform.

Was muss ich tun, damit XCode den Objective C-Code kompiliert? Bitte denken Sie daran, dass ich ein bisschen neu in diesem Bereich bin. Ich würde mich freuen, wenn Sie im Gegensatz zu den vagen Einzeilern, die in @ häufig vorkommen, detaillierte Antworten hinterlasseFeuerate Etikett. Ich bin nur ein bisschen überfordert, aber wenn Sie mich über diese Hürde bringen können, bin ich mir sicher, dass ich von dort aus gut weiterkommen werde.

AKTUALISIEREN

Ich habe die Datei projects / MyPlugin / CMakeLists.txt bearbeitet und dort auch die Regeln .m und .mm hinzugefügt. Nach dem Ausführen von prepmac.sh sind die Dateien im Projekt enthalten, es treten jedoch weiterhin die gleichen Kompilierungsfehler auf.

Ich habe alle .h- und .mm-Dateien aus dem Obj C-Code in den MyPlugin-Stammordner verschoben und die Datei prepmac.sh erneut ausgeführt. Problem besteht immer noch. Gleiche Kompilierfehler.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage