Ошибка ссылки flycaputer2 - PullRequest
       32

Ошибка ссылки flycaputer2

0 голосов
/ 19 сентября 2010

У меня есть простой код с использованием библиотек Point Grey FlyCapture:

#include <iostream>
#include "FlyCapture2.h"

using namespace std;

int main(){
    cout << "Hello World!";
    FlyCapture2::BusManager m;
    return 0;
}

Приведенный выше код дает следующие ошибки ссылки во время компиляции:

1>------ Build started: Project: CJMVideo, Configuration: Release Win32 ------
1>Compiling...
1>CJMVideo.cpp
1>Linking...
1>CJMVideo.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall FlyCapture2::BusManager::~BusManager(void)" (__imp_??1BusManager@FlyCapture2@@UAE@XZ)
1>CJMVideo.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall FlyCapture2::BusManager::BusManager(void)" (__imp_??0BusManager@FlyCapture2@@QAE@XZ)
1>C:\Users\Akihiro\Documents\Visual Studio 2008\Projects\CJMVideo\Release\CJMVideo.exe : fatal error LNK1120: 2 unresolved externals
1>Build log was saved at "file://c:\Users\Akihiro\Documents\Visual Studio 2008\Projects\CJMVideo\CJMVideo\Release\BuildLog.htm"
1>CJMVideo - 3 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Я добавил каталог FlyCapture в качестве каталога библиотеки в настройках VS2008, и я добавил библиотеки как дополнительные зависимости в настройках проекта.

Какой мой следующий шаг в отладке? Я в растерянности.

Спасибо

Ответы [ 2 ]

0 голосов
/ 09 июня 2012

В ваших свойствах Visual Studio убедитесь, что компилятор знает, где находятся дополнительные каталоги библиотек, в противном случае существует вероятность того, что вы получите ошибки компоновщика, которые вы описали.

В частности, вы делаете это, устанавливая свойства проекта -> компоновщик -> общие -> дополнительные каталоги библиотеки. Вы должны указать, где находится каталог библиотеки. Например, для установки FlyCapture SDK v2.2 обычно это:

C: \ Program Files \ Point Grey Research \ FlyCapture2 \ lib

Еще одна вещь, даже если вы работаете на 64-битной платформе, если, например, вы решите запустить приложение FlyCapture в качестве консоли Win32, вам, вероятно, все равно потребуется загрузить и использовать 32-битную версию любого FlyCapture SDK, который вы используете, а не 64-битная версия. Просто мысль.

См. Эту публикацию в блоге для более подробного объяснения начала работы с настройками FlyCapture, что в то время было сделано в VS2008 в 32-битной среде Windows XP, но это не должно быть слишком сложным. применить это к 64-битной версии более поздних версий Visual Studio. Любая обратная связь высоко ценится.

0 голосов
/ 26 сентября 2010

@ Surgio:

Я решил свою проблему, поэтому подумал, что дам вам обновление.Моя проблема оказалась в том, что моя Visual Studio использовала 32-битный компилятор, но пыталась скомпилировать из 64-битных библиотек.

Вы, вероятно, сделали это, но на всякий случай убедитесь, что вы (1) добавили расположения библиотек в VS и (2) убедитесь, что вы добавили библиотеки в качестве дополнительных зависимостей в настройках вашего проекта.

...