0

C ++を使用して実装され、Linuxで実行されているプロジェクトに取り組んでいます。さまざまなフォルダー内のさまざまなファイルから特定の値にアクセスしようとしていますが、いくつかの解決策を試しましたが、どれも役に立ちません。

'folderA'というフォルダー内にfile1.cppとfile1.hというファイルがあり、folderB/folderBBという2つのフォルダー内にfile2.cppとfile2.hという別のファイルがあります。

file2.cppには、file1.cppfile2.cppから送信またはアクセスするパラメーターの値が含まれています。

    Include”file2.h”
    .
    .
    .
    for(…)
    Test++;   // it is defined in file2.h

今私が欲しいのは、file1.cppから「Test」の値にアクセスして作業することです。Makefileを使用して、このプロジェクトのすべてのファイルをコンパイルしました。したがって、次のようにエラーなしでこれら2つのファイル間にリンクを作成します。

file1.cpp:folderB / folderBB / file2.h
file2.cpp:folderA / file1.h

問題は、file1.cppまたはfile1.h内に( "file2.h"を含めて)配置すると、file2.hで宣言されている宣言されていない変数のエラーが多数発生することです。「externキーワード」を使用しようとしましたが、以前と同じエラー+「ストレージクラスが指定されました」が発生しました。では、この問題の解決策を見つけるのを手伝っていただけませんか。

よろしくお願いします。

4

1 に答える 1

0

テスト変数はどのように宣言されていますか? file2.h で static の場合、ファイルに常駐し、他のファイルでは表示されません

于 2013-02-02T09:04:47.157 に答える