Как ссылаться на файлы .inl и .h в C #

Обновление 1:

Мне интересно, могу ли я сослаться на файл .lib, но мне кажется, что я не могу.
Если это правда, и у меня нет исходного кода проекта C ++, как я могу использовать его методы?
Кстати, я использую библиотеку FastCV.


Я сталкиваюсь с ситуацией, когда мне нужно вызывать методы C ++ из кода C #.
Структура сгенерированных файлов C ++:

 lib
--libfastcv.lib
--vc120.pdb inc
--fastcv.h
--fastcv.inl
--stdint.h

Я знаю, как вызывать методы C ++ из C #:

[DllImport("libfastcv.lib",CallingConvention=CallingConvention.Cdecl)]
public static extern <ReturnType> <MethodName>(<Parameters>);

Но я думаю, что файлы .h и .inl должны быть включены в мой проект C #.
Так как их включить?

Большое спасибо.

0

Решение

Они не Вместо этого вам нужно создавать / использовать двоичные типы, совместимые с вашим собственным кодом, и использовать их. (И вы импортируете метод из длл, не из Lib).

2

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

Вам не нужно делать какие-либо включения. DLLImport должно быть достаточно.

Чтобы увидеть методы, которые вы можете импортировать, вы можете использовать DependencyWalker или мой любимый инструмент CFF Explorer

Я часто использовал любые функции WINAPI, где мне нужны некоторые константы, определенные в заголовках. Мне всегда приходилось определять их в моем коде на C #, поэтому нет способа их «импортировать».

0

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