一个常见的问题不知如何解决:error LNK2019: 无法解析的外部符号
我用VC2005做一个界面,需要来控制一个机器人,使用了机器人自带的库Aria。
我新建了一个类RobotClient做测试,头文件RobotClient如下:
#include "stdafx.h"
#include "Aria.h"
#include "ArRobot.h"
class RobotClient
{
public:
RobotClient(void);
~RobotClient(void);
public:
ArRobot robot; //ArRobot是在ArRobot.h中声明的类
int message;
};
#include "stdafx.h"
#include "RobotClient.h"
#include "Aria.h"
RobotClient::RobotClient()
{
message = 1;
}
1>RobotClient.cpp
1>正在链接...
1>RobotClient.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall ArRobot::ArRobot(char const *,bool,bool,bool,bool)" (__imp_??0ArRobot@@QAE@PBD_N111@Z),该符号在函数 "public: __thiscall RobotClient::RobotClient(void)" (??0RobotClient@@QAE@XZ) 中被引用
1>D:\My Documents\Visual Studio 2005\Motion_12_13\Debug\Motion.exe : fatal error LNK1120: 1 个无法解析的外部命令
/// Constructor
AREXPORT ArRobot(const char * name = NULL, bool ignored = true,
bool doSigHandle=true,
bool normalInit = true, bool addAriaExitCallback = true);