- 问题描述:
- 在c语言项目中需要使用cpp文件的功能函数
- 全局变量均放到了一个头文件中,我称为
globals.h
- cpp文件中使用到了c项目中的
globals.h
中的变量ElapsedTime
- 这种情况下,编译该项目总是出现
LNK2001 无法解析的外部符号 "double ElapsedTime" (?ElapsedTime@@3NA)
- 解决方法:
- 在cpp文件中将C++涉及的头文件直接引用即可
#include <cstdio>
#include <string>
#include <sstream>
#include <string>
#include <vector>
#include <iostream>
#include <fstream>
#include <stdio.h>
2.cpp文件中将C涉及的头文件需要加上 extern "C"
extern "C" {
#include "globals.h"
}
成功编译