VisualStudio FlyCapture2 SDK ошибки компиляции

Я пытаюсь разработать программу с использованием USB-камеры Flea3 для захвата видео, но у меня возникли некоторые проблемы с FlyCapture2 SDK.

Я использую последнюю версию SDK (2.5) и Visual Studio 2012 Ultimate.
Я добавил FlyCapture2 \ bin64 к пути и связал VS с FlyCapture2 \ lib64 и включил FlyCapture2.lib в качестве внешней библиотеки.

Это все прекрасно компилируется. Проблема возникает, когда я #include <FlyCapture2.h> в main.cpp.
Это код ошибки, который я получаю:

1>------ Build started: Project: cam_test, Configuration: Debug x64 ------
1>  main.cpp
1>c:\flycapture2\include\Error.h(38): error C2059: syntax error : 'string'
1>c:\flycapture2\include\Error.h(39): error C2146: syntax error : missing ';' before identifier 'Error'
1>c:\flycapture2\include\Error.h(39): error C2470: 'Error' : looks like a function definition, but there is no parameter list; skipping apparent body
1>c:\flycapture2\include\BusManager.h(56): error C2059: syntax error : 'string'
1>c:\flycapture2\include\BusManager.h(57): error C2146: syntax error : missing ';' before identifier 'BusManager'
1>c:\flycapture2\include\BusManager.h(57): error C2470: 'BusManager' : looks like a function definition, but there is no parameter list; skipping apparent body
1>c:\flycapture2\include\CameraBase.h(47): error C2059: syntax error : 'string'
1>c:\flycapture2\include\CameraBase.h(48): error C2146: syntax error : missing ';' before identifier 'CameraBase'
1>c:\flycapture2\include\CameraBase.h(48): error C2470: 'CameraBase' : looks like a function definition, but there is no parameter list; skipping apparent body
1>c:\flycapture2\include\Camera.h(40): error C2059: syntax error : 'string'
1>c:\flycapture2\include\Camera.h(40): error C2146: syntax error : missing ';' before identifier 'Camera'
1>c:\flycapture2\include\Camera.h(40): error C2470: 'Camera' : looks like a function definition, but there is no parameter list; skipping apparent body
1>c:\flycapture2\include\Camera.h(40): error C2059: syntax error : 'public'
1>c:\flycapture2\include\GigECamera.h(38): error C2059: syntax error : 'string'
1>c:\flycapture2\include\GigECamera.h(38): error C2146: syntax error : missing ';' before identifier 'GigECamera'
1>c:\flycapture2\include\GigECamera.h(38): error C2470: 'GigECamera' : looks like a function definition, but there is no parameter list; skipping apparent body
1>c:\flycapture2\include\GigECamera.h(38): error C2059: syntax error : 'public'
1>c:\flycapture2\include\Image.h(40): error C2059: syntax error : 'string'
1>c:\flycapture2\include\Image.h(41): error C2146: syntax error : missing ';' before identifier 'Image'
1>c:\flycapture2\include\Image.h(41): error C2143: syntax error : missing ';' before '{'
1>c:\flycapture2\include\Image.h(41): error C2447: '{' : missing function header (old-style formal list?)
1>c:\flycapture2\include\Utilities.h(104): error C2059: syntax error : 'string'
1>c:\flycapture2\include\Utilities.h(105): error C2146: syntax error : missing ';' before identifier 'Utilities'
1>c:\flycapture2\include\Utilities.h(105): error C2470: 'Utilities' : looks like a function definition, but there is no parameter list; skipping apparent body
1>c:\flycapture2\include\AVIRecorder.h(37): error C2059: syntax error : 'string'
1>c:\flycapture2\include\AVIRecorder.h(38): error C2146: syntax error : missing ';' before identifier 'AVIRecorder'
1>c:\flycapture2\include\AVIRecorder.h(38): error C2470: 'AVIRecorder' : looks like a function definition, but there is no parameter list; skipping apparent body
1>c:\flycapture2\include\TopologyNode.h(37): error C2059: syntax error : 'string'
1>c:\flycapture2\include\TopologyNode.h(38): error C2146: syntax error : missing ';' before identifier 'TopologyNode'
1>c:\flycapture2\include\TopologyNode.h(38): error C2143: syntax error : missing ';' before '{'
1>c:\flycapture2\include\TopologyNode.h(38): error C2447: '{' : missing function header (old-style formal list?)
1>c:\flycapture2\include\ImageStatistics.h(35): error C2059: syntax error : 'string'
1>c:\flycapture2\include\ImageStatistics.h(36): error C2146: syntax error : missing ';' before identifier 'ImageStatistics'
1>c:\flycapture2\include\ImageStatistics.h(36): error C2143: syntax error : missing ';' before '{'
1>c:\flycapture2\include\ImageStatistics.h(36): error C2447: '{' : missing function header (old-style formal list?)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Я посмотрел на заголовочный файл и, честно говоря, не могу найти в нем ничего плохого, плюс я не думаю, что такая большая компания, как они, отправит неверный заголовочный файл со своим SDK. Я считаю, что это должно быть что-то с моими настройками VS из-за характера распечатки ошибки.
Я понятия не имею, в чем проблема, любая помощь или идеи будут оценены.

0

Решение

Видимо, мне просто нужно было включить windows.h, чтобы избавиться от ошибок компиляции. Посмотрел несколько примеров и просто попробовал, и это сработало.

0

Другие решения

У меня была похожая ошибка. Это было решено путем определения WIN32 или используя параметр командной строки /D "WIN32", Вы можете увидеть это в примерах FlyCapture2 SDK.

0

По вопросам рекламы [email protected]