我想在main.cpp
中打开一个输出文件,然后在另一个文件calculate.cpp
中写入。
的main.cpp :
#include main.hpp
using namespace std;
int main() {
outputfile.open("output.txt");
}
使用头文件main.hpp
extern std::ofstream outputfile;
然后在另一个文件 calculate.cpp
中写入#include main.hpp
void calculate() {
outputfile << "write this to the external file" << endl;
}
当我这样做时,我收到错误
undefined reference to 'outputfile' in main.cpp
undefined reference to 'outputfile' in calculate.cpp
我正在处理一个包含premade make文件的大型代码,所以我认为没有正确的链接问题。
答案 0 :(得分:2)
您还没有在任何地方定义- (void)connection:(NSURLConnection __unused *)connection
didReceiveData:(NSData *)data
{
NSUInteger length = [data length];
if ([self.outputStream hasSpaceAvailable]) {
const uint8_t *dataBuffer = (uint8_t *) [data bytes];
[self.outputStream write:&dataBuffer[0] maxLength:length];
}
}
。行outputfile
声明变量,但实际上没有为它定义存储。您需要extern std::ofstream outputfile;
或main.cpp
calculate.cpp