問題タブ [objective-c++]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
873 参照

c++ - Objective-C と一部の Objective-C++ で、通常の C++ メソッドの「参照元」を呼び出す問題

iPhone 用の Objective-C プロジェクトを作成しました。cpp クラスは 1 つだけで、Apple のデモから取った soundEngine です。現在、Objective-C++ でコーディングされている OpenFeint をマージしようとしています。ファイルをドラッグするだけでコードにドロップし、プロジェクト設定で「Objective-C で C++ デフォルト ctors/dtors を呼び出す」にチェックマークを付けるだけです。私は自分のコードからそれを参照していません。[ビルド] をクリックすると、Objective-C コードが cpp ファイルのメソッドを見つけられません。OpenFeint を含むすべてのクラス ファイルがコンパイルされますが、リンク段階でこれらのエラーのいくつかが表示されます。

これらのリンク エラーを報告するときは、メソッドの前にアンダースコアを追加していることに注意してください。

PS OpenFeint の場合、最初にファイルを .mm に変換する必要があることはわかっていますが、可能であれば、開発のこの段階ではその道をたどりたくありません。そのためのラッパーObjective-C++クラスを作成しようとしていました。私は誰かがそれをやったと読みました。

0 投票する
3 に答える
343 参照

objective-c - iPhoneアプリのデバッグ情報がありません

サードパーティのライブラリを使用するiPhoneアプリを作成しました。このライブラリを正常にクロスコンパイルし、すべてがスムーズに機能します。ただし、アプリケーションをデバッグする場合は、ライブラリもデバッグできるのが理にかなっています。そこで、デバッグ情報を含む外部ライブラリもコンパイルしました(gccオプション-ggdbを使用)。しかし、デバッグしたいときは正しいシンボル名を取得しますが、位置は常に間違っている/極端に奇妙です(locale_facets.tcc:2505またはiostream:76)。たとえば、スタックトレースは次のようになります。

これらの間違った場所がどこから来ているのか、誰かが考えていますか?

0 投票する
2 に答える
10240 参照

c++ - シンボルが見つかりません。フラットな名前空間 ObjC++ にあるはずです

私はおそらく単純な問題を抱えていますが、コンパイル中に何が問題なのかを警告する有益なエラーや警告はありません。

C++ のメイン ファイルと ObjC ヘッダー ファイルを含む Objective-C++ アプリがあります。

正常にビルドされますが、実行すると次のエラー メッセージが表示されます。

いくらグーグルで調べても解決には至りませんでした。コンパイルまたはビルドのオプションをどこかで見逃したに違いありません。

ターゲットに「AppController.h」をインクルード(チェック)#importし、ObjC Class Fileに'd'します。

どんな助けでも大歓迎です。

ObjC++ は常に頭痛の種です。

ありがとう、

-S!

0 投票する
2 に答える
558 参照

c++ - Objective-C ++はiPhone用にコンパイルされますが、シミュレーター用にはコンパイルされません

iPhoneプロジェクトに追加したいC++ライブラリがあります。

1つのヘッダーファイルで宣言します

これは、リリース設定のあるiPhoneデバイスで正常にコンパイルされます。ただし、デバッグ情報の有無にかかわらず、シミュレーター用にコンパイルすることは拒否されます。

エラーが発生します

これを回避する方法はありますか、それとも具体的なC ++クラスのみを定義する必要がありますか?

0 投票する
6 に答える
1874 参照

c - alloca(n) と char x[n] の違いは何ですか?

違いは何ですか

...ここで、サイズはコンパイル時に値が不明な変数です。

0 投票する
3 に答える
2576 参照

objective-c - 目的でC++ポインタを返す方法-C++

私は次の目的を持っています-このポインタを返す簡単なメソッドを持つC++ヘッダー。

簡単な方法を作成しました

別のファイルでオブジェクトを実際に使用しようとするまで、すべてが機能しているようです

エラー:初期化時に「objc_object*」を「MyCPPObje*」に変換できません。

メソッドはobjective-cオブジェクトを返すようですが、私は特にC++ポインターを要求しました。

MyCPPObjは正直なC++クラスです。

どうすれば修正できますか?

0 投票する
0 に答える
316 参照

iphone - リリースされたオブジェクトがアプリをクラッシュさせる

私はiPhone開発にobjective-C++(+ Boost)を使用しています。

私はかなりタイトなループにあり、特定のオブジェクトを割り当てて解放する必要があります。

コードはこんな感じです。

FObjオブジェクトは次のようなものです

FObjの実装には、deallocメソッドがあります。

リリースしないと、「MyCPPObj」がたまってしまうのではないかと心配しています。ただし、リリースすると、最初のループの後にアプリがクラッシュします。私は何が間違っているのですか?

または、cppobjとboost :: shared_ptrを作成する必要がありますか?

(ブースト共有ポインターは、objective-C ++オブジェクトが削除されたときにオブジェクトを自動的に解放しますか?)

0 投票する
2 に答える
836 参照

iphone - ARToolKitPlus dylibを作成した後、ARToolkitPlusのヘッダーファイルに問題があります。

私はiPhone用のこの拡張現実アプリを書いています。ARToolKitPlusを使用することにしました。QMakeを使用して、xcodeプロジェクトファイルを作成し、続いてlibArToolKitPlus.dylibを作成しました

サンプルファイル「simple」と「multi」をコンパイルして実行してみましたが、うまくいきました。別のプロジェクトを作成してライブラリを使用しようとした他のすべての試みは、ヘッダーファイルが見つからないために失敗しました。「include」フォルダをxcodeプロジェクトにドラッグすると、1つではなく8つのエラーが発生します。1つは、メインインクルードが見つからないことを解決するためのものですが、見つからない他の8つのヘッダーが含まれています(同じフォルダーにありますが)

エラーが発生します:ARToolKitPlus / TrackerSingleMarkerImpl.h:そのようなファイルまたはディレクトリはありません

インクルードフォルダをドラッグすると、次のようになります。

  • エラー:ARToolKitPlus / TrackerSingleMarker.h:そのようなファイルまたはディレクトリはありません
  • エラー:../ src / TrackerSingleMarkerImpl.cpp:そのようなファイルまたはディレクトリはありません
  • エラー:「、」トークンの前にクラス名が必要です

    class TrackerSingleMarkerImpl:public TrackerSingleMarker、protected TrackerImpl <__ PATTERN_SIZE_X、__ PATTERN_SIZE_Y、__PATTERN_SAMPLE_NUM、__MAX_LOAD_PATTERNS、__MAX_IMAGE_PATTERNS>

私が知る限り、dylibを持っていても違いはありません。私は何をすべきだと思いますか?フレームワークを作成することは役に立ちますか?

0 投票する
2 に答える
955 参照

c++ - 目標 C++ の boost::shared_ptr

これは、私が以前に持っていた質問をよりよく理解しています。

次のObjective-C++オブジェクトがあります

次に、boost::shared_ptr で cppobj を使用する必要がある完全に異なる obj を作成します (この問題には選択の余地がありません。変更できない巨大なライブラリの一部です)。

次のことを試しましたが失敗しました: cppobj を合成しようとしました。次に、次の方法で「厄介な行」に shared_ptr を作成しました。

初めてでも問題なく動作します。次に、NOBJ を破壊して再作成します。私が cppobj の場合、それはなくなりました。おそらく、shared_ptr は不要になったと判断し、廃止したのでしょう。

だから私は助けが必要です。どうすれば cppobj を存続させることができますか?

cppobj を破棄せずに bsp (または cppobj への参照) を破棄する方法はありますか?

0 投票する
2 に答える
22864 参照

c++ - XCodeでObjective-CでC++を使用するにはどうすればよいですか

Objective-C で C++ オブジェクトを使用/再利用したい。クラス定義を持つ hello.h と、クラス実装用の hello.cpp があります。

そして、このクラスを Objective-C 関数で使用します。

Xcode でコードをコンパイルすると、このエラー メッセージが表示されます。

何が悪かったのか?