1

Makefile を使用してビルドする C++ プロジェクトを Xcode でセットアップしようとしています。

完全に空のプロジェクト (空のテンプレート) から始めて、External Build System ターゲットを追加し、パスを正しく設定することで、機能するようになりました。

ここに画像の説明を入力

ただし、ブレークポイントは機能しません。単一の .cpp ファイルを使用して非常に単純なテスト プロジェクトを作成しましたが、何を試してもブレークポイントは無視されます。

ここに画像の説明を入力

別の質問で示唆されているように、Product -> Edit Scheme... に移動して「use custom working directory」をチェックし、これを実行可能ファイルと同じディレクトリに設定しようとしましたが、役に立ちませんでした。

すべてのファイル (ソース、メイクファイル、実行可能ファイル、プロジェクト ファイル) は、Finder (および Xcode も) の 1 つのフォルダーにあります。

それが重要な場合、私の Makefile も非常に単純です。

BUILD = .
TARGET = $(BUILD)/test
all:
    g++  test.cpp  -o $(TARGET)
4

2 に答える 2

4

-ggcc コマンドにスイッチを追加して、次のようなデバッグ シンボルを含めます。

BUILD = .
TARGET = $(BUILD)/test
all:
    g++ -g test.cpp  -o $(TARGET)

編集: test はほとんどのシェルのシェル組み込みコマンドであり、コマンドラインからプログラムを呼び出すのに問題が発生する可能性があるため、別のターゲット名を選択しました (Mac OS についてよくわからない場合でも)。

于 2012-11-21T19:47:43.883 に答える
1

同じ問題 (Xcode 8.3.3) がありましたが、メイクファイルに -g を追加しても修正されませんでした。私は、makefile がビルド (rm -f $(OBJFILES)) の一部として .o ファイルをクリーンアップしていることを (多くの苦労の末に) 発見しました。シンボル情報が .o ファイルに存在することが判明したため、それらを削除すると、Xcode はデバッグできなくなりました。rm 行をコメントアウトすると、すべてが機能するようになりました。-g フラグを使用しましたが、機能します。これと戦っている人は、.o ファイルが適切な場所にあることを確認する必要があります。

于 2017-08-22T02:04:59.290 に答える