ステータスバーにステータスバーアイコンを配置するMac OS用のブラウザプラグインを作成しています。これにより、ユーザーはブラウザプラグインとのインターフェースに使用できます。XCode 4.4.1 で FireBreath 1.6 プロジェクトを正常にビルドし、ブラウザにインストールできます。ただし、FireBreath は C++ を使用しますが、Mac OS 用の既存のライブラリの大部分は Objective C で記述されています。
/Mac/projectDef.make ファイルに、Cocoa Framework と Foundation Framework を追加しました。これは、ここやインターネットで見つけた他のリソースで提案されているとおりです。
target_link_libraries(${PROJECT_NAME}
${PLUGIN_INTERNAL_DEPS}
${Cocoa.framework} # added line
${Foundation.framework} # added line
)
XCode で .mm ファイルと .m ファイルを使用して新しいプロジェクトが作成されることを期待して、prepmac.sh を再実行しました。しかし、それらは無視されているようです。.cpp ファイルと .h ファイルしか表示されません。projectDef.make ファイルにそれらのルールを追加しましたが、違いはないようです:
file (GLOB PLATFORM RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
Mac/[^.]*.cpp
Mac/[^.]*.h
Mac/[^.]*.m #added by me
Mac/[^.]*.mm #added by me
Mac/[^.]*.cmake
)
ファイルを手動で追加しても、一連のコンパイル エラーが発生します。それらの約 20 があり、すべてファイルNSObjRuntime.h
fileに関連しています。
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'
...
同様のエラーでしばらくの間このように続きます...
私が読んだことによると、これらのエラーは、プロジェクトに含まれていると思われる Foundation Framework への依存関係が原因で表示されます。XCodeでプロジェクトをクリックしてみました
私は今、次に何を試すべきかわからないところまで来ています。C/C++ コードで Objective C を使用するのは難しくないと言う人もいますが、XCode と Objective C を初めて使用することで、混乱が生じる可能性があります。これは、この新しいプラットフォームでの 4 日目です。
XCode で Objective C コードをコンパイルするにはどうすればよいですか? 私はこれに少し慣れていないことを覚えておいてください.firebreathタグで一般的な漠然としたワンライナーではなく、詳細な回答を残していただければ幸いです. 私は少し頭がいっぱいですが、このハードルを乗り越えることができれば、そこから先に進むことができると確信しています.
アップデート:
projects/MyPlugin/CMakeLists.txt を編集し、そこに .m および .mm ルールも追加しました。prepmac.sh を実行した後、ファイルはプロジェクトに含まれますが、それでも同じコンパイル エラーが発生します。
すべての .h ファイルと .mm ファイルを Obj C コードから MyPlugin ルート フォルダーに移動し、prepmac.sh ファイルを再実行しました。問題はまだ存在します。同じコンパイルエラー。