Перейти к содержимому
Compvision.ru
broveymimo

OpenCV и Rad Studio 10

Recommended Posts

Прошу не сразу не пинать ногами, но уже месяц бьюсь с проблемой установки OpenCV под Embarcadero Rad Studio 10 Seattle. Странно и обидно, что CMake под все версии VS компилирует, а под Builder один вариант и тот не работает. Прошу Гуру тыкнуть носом как заставить работать OpenCV под Rad Studio 10.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

пробовал вручную инклюдить библиотеки, 

#include <opencv\cv.h>
#include <opencv\highgui.h>

выдало 50 с лишним ошибок 

[bcc32 Error] ptr.inl.hpp(67): E2034 Cannot convert 'unsigned int *' to 'int *'
  Full parser context
    Main_Form.cpp(8): #include D:\opencv\build\include\opencv\cv.h
    cv.h(63): #include D:\opencv\build\include\opencv2/core/core_c.h
    core_c.h(48): #include D:\opencv\build\include\opencv2/core/types_c.h
    types_c.h(101): #include D:\opencv\build\include\opencv2/core.hpp
    core.hpp(54): #include D:\opencv\build\include\opencv2/core/base.hpp
    base.hpp(56): #include D:\opencv\build\include\opencv2/core/cvstd.hpp
    cvstd.hpp(1067): #include D:\opencv\build\include\opencv2/core/ptr.inl.hpp
    ptr.inl.hpp(49): namespace cv
    ptr.inl.hpp(58): namespace detail
    ptr.inl.hpp(61): class PtrOwner
    ptr.inl.hpp(89): decision to instantiate: void PtrOwner::incRef()
    --- Resetting parser context for instantiation...
    ptr.inl.hpp(66): parsing: void PtrOwner::incRef()
[bcc32 Error] ptr.inl.hpp(67): E2342 Type mismatch in parameter 'addr' (wanted 'int *', got 'unsigned int *')
  Full parser context
    Main_Form.cpp(8): #include D:\opencv\build\include\opencv\cv.h
    cv.h(63): #include D:\opencv\build\include\opencv2/core/core_c.h
    core_c.h(48): #include D:\opencv\build\include\opencv2/core/types_c.h
    types_c.h(101): #include D:\opencv\build\include\opencv2/core.hpp
    core.hpp(54): #include D:\opencv\build\include\opencv2/core/base.hpp
    base.hpp(56): #include D:\opencv\build\include\opencv2/core/cvstd.hpp
    cvstd.hpp(1067): #include D:\opencv\build\include\opencv2/core/ptr.inl.hpp
    ptr.inl.hpp(49): namespace cv
    ptr.inl.hpp(58): namespace detail
    ptr.inl.hpp(61): class PtrOwner
    ptr.inl.hpp(89): decision to instantiate: void PtrOwner::incRef()
    --- Resetting parser context for instantiation...
    ptr.inl.hpp(66): parsing: void PtrOwner::incRef()

подскажите что сделать чтобы заработало?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Чтобы заработало на Rad Studio, надо переписать OpenCV заново, т.к. у Embarcadero свое понимание CPP, не разделяемое остальными.

Проблемы в основном связаны с шаблонами. Как вариант, можно строить OpenCV-шную часть на VS или GCC, а затем подключать как DLL.

Ну или использовать первую версию OpenCV от Intel.  Все равно, даже если удастся построить (затратив прилично усилий по перепахиванию заголовочников) новую версию, то будет работать только старый C-шный интерфейс функций, CPP-шный интерфейс работать не будет. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×