Visual Studio 2010中未解析的外部符号

时间:2011-04-22 15:34:12

标签: c++ visual-studio-2010 openframeworks

我来自Xcode,尝试在Visual Studio 2010中编译项目,我收到以下错误:

2>ofxCLeye.obj : error LNK2019: unresolved external symbol "struct _GUID __cdecl CLEyeGetCameraUUID(int)" (?CLEyeGetCameraUUID@@YA?AU_GUID@@H@Z) referenced in function "public: static int __cdecl ofxCLeye::listDevices(void)" (?listDevices@ofxCLeye@@SAHXZ)
2>ofxCLeye.obj : error LNK2019: unresolved external symbol "int __cdecl CLEyeGetCameraCount(void)" (?CLEyeGetCameraCount@@YAHXZ) referenced in function "public: static int __cdecl ofxCLeye::listDevices(void)" (?listDevices@ofxCLeye@@SAHXZ)
2>ofxCLeye.obj : error LNK2019: unresolved external symbol "bool __cdecl CLEyeCameraGetFrameDimensions(void *,int &,int &)" (?CLEyeCameraGetFrameDimensions@@YA_NPAXAAH1@Z) referenced in function "public: void __thiscall ofxCLeye::grabFrame(void)" (?grabFrame@ofxCLeye@@QAEXXZ)
2>ofxCLeye.obj : error LNK2019: unresolved external symbol "bool __cdecl CLEyeCameraGetFrame(void *,unsigned char *,int)" (?CLEyeCameraGetFrame@@YA_NPAXPAEH@Z) referenced in function "public: void __thiscall ofxCLeye::grabFrame(void)" (?grabFrame@ofxCLeye@@QAEXXZ)
2>ofxCLeye.obj : error LNK2019: unresolved external symbol "bool __cdecl CLEyeDestroyCamera(void *)" (?CLEyeDestroyCamera@@YA_NPAX@Z) referenced in function "public: virtual void __thiscall ofxCLeye::close(void)" (?close@ofxCLeye@@UAEXXZ)
2>ofxCLeye.obj : error LNK2019: unresolved external symbol "bool __cdecl CLEyeCameraStop(void *)" (?CLEyeCameraStop@@YA_NPAX@Z) referenced in function "public: virtual void __thiscall ofxCLeye::close(void)" (?close@ofxCLeye@@UAEXXZ)
... etc etc...
2>bin\clEye_debug.exe : fatal error LNK1120: 10 unresolved externals

我想编译器正在尝试链接 CLEyeMulticam.lib 但没有找到它。我认为我已经正确配置了它。

您能指出我在VS2010中包含库所需的步骤吗?

谢谢,

果渣

2 个答案:

答案 0 :(得分:10)

道歉,如果这过于迂腐。如果这是一个预先构建的库(不是作为项目/解决方案的一部分构建的),那么请确保

a) #include the correct header
b) #define any requisite macros
c) speciy additional .lib dependencies as shown below. 

enter image description here

除非libary文件位于LIB环境变量中,否则您需要指定一个完全限定的路径(d:\ src \ project \ libs \ camera.lib)。

答案 1 :(得分:2)

在项目的属性页中,导航到配置>链接器>输入lib文件并将其添加到Additional Dependencies设置。这适用于VC ++ 2008,可能同样适用于2010年。