Неразрешенные внешние символы в Visual Studio 2010 - PullRequest
5 голосов
/ 22 апреля 2011

Я пришел из 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?

Спасибо,

marc

Ответы [ 2 ]

10 голосов
/ 22 апреля 2011

Извинения, если это слишком педантично. Если это предварительно созданная библиотека (не созданная как часть проекта / решения), убедитесь, что вы

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

enter image description here

Вам необходимо будет указать полный путь (d: \ src \ project \ libs \ camera.lib), если файл библиотеки не находится в переменной среды LIB.

2 голосов
/ 22 апреля 2011

На страницах свойств вашего проекта перейдите в «Конфигурация»> «Линкер»> «Ввод» и добавьте файл lib в настройку «Дополнительные зависимости». Это относится и к VC ++ 2008, вероятно, к 2010 году.

...