我举一个非常接近我的代码的例子:
camera.h
#pragma once
#ifndef VCL_CAMERA_TRACKING_H
#define VCL_CAMERA_TRACKING_H
extern int x;
....
#endif
的main.cpp
#include "camera.h"
...
int x = 15;
b.cpp
#include "camera.h"
...
int example = 15;
int numFaces = 0;
...
if(numFaces<1) x = example;
...
当我在VS10中构建我的项目时,我得到“错误LNK2001:未解析的外部符号”int x“(?x @@ 3HA)at b.cpp”。
这很奇怪,因为我在camera.h中声明了x并在main.cpp中定义了它
答案 0 :(得分:1)
您已宣布您的符号:
extern int x;
但是你没有在任何地方定义你的符号。你需要把
int x;
在您的一个源文件中。