墨水未定义引用的多个文件 - extern

时间:2016-08-01 19:22:13

标签: c++ extern undefined-reference

我有一个相对较大的项目,我使用的语法与之前版本的工作方式完全相同。

文件Main.cpp中的

#include "Note.h"

#include <iostream>
#include <fstream>
using namespace std;

std::ofstream  *notaFile;
int main(int parameterCount, char **parameterList) {
  notaFile = new std::ofstream("Notation.txt", ios::out);
}
文件Note.h中的

extern std::ofstream *notaFile;

在文件Note.cpp

#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;

void Note::setPitchWellTempered(int absPitchNum) {

   *notaFile << "Octave Number " << octaveNum << endl;
}
链接时

lib/liblcmod.a(Note.o): In function `Note::setPitchWellTempered(int)':
CMOD/src/Note.cpp:117: undefined reference to `notaFile'
collect2: ld returned 1 exit status

0 个答案:

没有答案