0

1 つのソリューションに 4 つのプロジェクトがあります。1 つのヘッダー ファイルで extern として定義された変数をグローバルに使用したいと考えています。シナリオは次のようになります。

project1 の headerfile.h と function.cpp プロジェクト 2 の mainfile.cpp

headerfile.h の内容:

extern int nframes;

mainfile.cpp の内容:

#include "headerfile.h"
int nframes=0;

function.cpp の内容:

//use value of nframes

function.cpp の nframes の値に直接アクセスしようとしています。しかし、プロジェクト 1 にはリンカー エラーがあります。未解決の外部シンボル "int nframes" です。

ここで、function.cpp にも nframes を定義すると、ビルドは成功しますが、コントロールが mainfile.cpp から function.cpp に切り替わると、nframes の値が 0 にリセットされます。

親切に助けてください。

4

1 に答える 1

0

各プロジェクトに mainfile.cpp を含める必要があります。リンクエラーは、変数が定義されている場所が見つからないことを示しているだけです。mainfile.cpp の名前を GlobalVariables.CPP に変更することを提案してください。

于 2014-04-13T13:46:52.960 に答える