2015-11-28 2 views
1

У меня есть проект C#, проект CLI/C++, который завершает проект C++.Intel компилятор с openCV как он работает

Я составил OpenCV 3.0.0, и я использую полную статическую ссылку (* .lib без * .dll файлов)

, так как я хочу использовать Intel IPP я хочу использовать Intel Compiler для того, чтобы скомпилируйте проект C++.

Вначале у меня возникли проблемы, так как библиотеки OpenCV не компилируются с помощью компилятора Intel (они компилируются с помощью компилятора VS2012). Итак, просто для того, чтобы попытаться переключить флаг набора инструментов на Intel Compiler 14.0, и он сработал, я могу запустить свое приложение ... и использовать openCV и IPP.

Не могли бы вы объяснить, почему это возможно? это то же самое для динамической загрузки (*. dll)? или если я использую openCV с динамической загрузкой, мне нужно будет скомпилировать их с помощью Intel Compiler?

Thanks

ответ

2

Грубо. Компилятор, используемый для генерации заданного машинного кода, не имеет большого значения (за исключением качества кода). Важно то, что соблюдаются некоторые соглашения: формат файлов объектных кодов, именование внешних объектов и ABI (вызываемые функции).

+0

Не могли бы вы попытаться объяснить, будет ли он работать и для динамической загрузки? – Gilad

+1

Точно то же самое ... Если вы хотите, чтобы код был подключен к другому коду независимо от того, что такое подключаемый модуль, вам необходимо выполнить какое-либо соглашение. Конечно, вы можете создавать свои собственные, но для переносимости вы всегда используете то же самое в данной ветви системы. –

Смежные вопросы