我有一个相对较大的项目,我使用的语法与之前版本的工作方式完全相同。
文件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