0

シンプルなネイティブiPhoneアプリを作成しました。このプロジェクトには、いくつかの操作を行うためのc、c++ソースファイルが含まれています。そのラジオチューニングアプリ、それはうまくいきます。誰かにソースコードを渡し、ソースコードc、cppファイルをすべて非表示にしたい(見知らぬ人が私のコードを見たくないため)。つまり、iPhoneアプリをコンパイルし、ビルドパスからすべての(.o)ファイルを収集して、リソースフォルダーに追加しました。

たとえば、私のアプリケーションにこれら2つのファイルがある場合

      radio.c
      radio.h

ビルドパスディレクトリにradio.oが存在する場合。私のビルドパスは(/Users/Macuser/Projects/Radio//build/Radio.build/Release-iphoneos/HDRadio.build/Objects-normal/armv7/ radio.o)です。

そこで、radio.oファイルをコピーてソースコードディレクトリに追加し、radio.cファイルとradio.hファイルを削除しました。コンパイルするとエラーが発生し、radio.hファイルが見つかりません。

ここで何が問題になる可能性がありますか?私にお知らせください。前もって感謝します..

注:radio.hファイルをプロジェクトに追加すると、正常にコンパイルされます。radio.hファイルとradio.mファイルを見たくありません。これは可能ですか?

4

1 に答える 1

0

プロジェクトには、radio.hをインポートまたは含む他のファイルが必要です。.oファイルはリンクに使用されますが、ソースのコンパイル時にインポート/インクルードの依存関係が解決されます。(.oファイルはソースではありません。)

.hファイルを提供したくない場合、それを回避する方法は、相互に依存するすべての.oファイルを含む静的ライブラリを作成することです。(ただし、ライブラリ内の関数を呼び出すには、パブリック関数を宣言した.hが必要です。)

于 2012-08-08T11:43:26.520 に答える