簡體   English   中英

Eclipse / GCC:未定義的外部變量引用

[英]Eclipse/GCC: Undefined Reference to Extern Variable

對不起,如果這是一個重復的問題,但我一直在尋找幾個小時,我得到了相互矛盾的答案......更糟糕的是,他們都沒有工作。

這是一件簡單的事情。 我有很多源文件,我有一些常見的參數,我想在一個文件中,比如“Parameters.h”。 我想在運行時設置這些參數(一次),方法是將它們作為參數傳遞給程序。

PS:我知道更好的方法是將所有內容作為參數傳遞給函數,但這是一段很大的代碼,我需要盡快得到一個結果,而不需要做太多的更改。

這是一個最小的工作示例:

Parameters.h

#ifndef PARAMETERS_H_
#define PARAMETERS_H_

extern int Alpha;

#endif

main.cpp中

#include <iostream>
#include "Parameters.h"

int main(int argc, char * argv[])
{
    const int Alpha = 12.0;
}

Functions.cpp

#include "Parameters.h"

double Foo(const double& x)
{
    return Alpha*x;
}

當我編譯時

gcc main.cpp Functions.cpp

我收到錯誤“Functions.cpp :(。text + 0xa):未定義引用”Alpha“”。

您已聲明了一個名為Alpha的全局變量,但尚未對其進行定義。 在一個源文件中,寫入文件范圍:

int Alpha;

或者使用初始化程序:

int Alpha = 42;

請注意,您在main定義的名為Alpha的局部變量與此全局變量不同且完全無關。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM