0

我在一個解決方案中有4個項目。 我想在全局的一個頭文件中使用定義爲extern的變量。 的情況是這樣的:在標題中使用extern變量並在多個項目中使用

項目headerfile.h和function.cpp在PROJECT1 mainfile.cpp 2

headerfile.h containts:

extern int nframes; 

mainfile.cpp containt:

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

function.cpp containt:

//use value of nframes 

我試圖直接訪問function.cpp中的nframes的值。 但項目1中存在鏈接器錯誤:無法解析的外部符號「int nframes」。

現在,當我在function.cpp中定義nframes時,構建成功,但是當控制從mainfile.cpp切換到function.cpp時,nframes的值被重置爲0。

請幫忙。

回答

0

您需要在每個項目中包含mainfile.cpp。鏈接錯誤只是告訴它無法找到變量定義的位置。建議將mainfile.cpp的名稱更改爲GlobalVariables.CPP,它應該使事情更清晰。

+0

「Include」是什麼意思?感謝您的答覆! – Pranav

+0

已添加到您的每個項目(構成整個解決方案)中包含的文件列表中。 – Anonymouse

+0

你不覺得這會引起進一步的歧義嗎? – Pranav

相關問題