Интеграция кода CUDA в приложение. net - PullRequest
0 голосов
/ 09 апреля 2020

Я написал некоторый код, который использует преимущества CUDA, и я хотел бы связать его с моим. net приложением.

Вот что я сделал:

  1. Написал функция со следующим определением:
    typedef double CalcType;

    bool CalculateWeights(CalcType * result1,
    CalcType *result2,
    CalcType *result3,
    CalcType *result4,
    CalcType *input1,
    CalcType *input2,
    CalcType *input3,
    CalcType *input4,
    int size1, int size2);
В свойствах проекта-> Общие-> Проект по умолчанию я установил Configuration type на Static Library (.lib) Я создал управляемую библиотеку c ++, вручную добавил к ней определение функции (1) и реализовал Обертка вокруг него, поэтому его можно вызывать из управляемого кода.

В выходном каталоге я обнаружил project.lib, зашел в свойства управляемого проекта, добавил:

  • каталог, в котором файл lib находится в свойствах-> Linker-> General-> каталоги дополнительных библиотек

  • полный путь к файлу .lib для свойства -> Линкер-> Ввод-> Дополнительные зависимости

Когда я пытаюсь скомпилировать, я все еще получаю следующую ошибку:

error LNK2019: unresolved external symbol "bool __cdecl CalculateWeights(double *,double *,double *,double *,double *,double *,double *,double *,int,int)"

Я работаю в Visual Studio 2017

Вот полная командная строка компоновщика:

/OUT:"myDirectory\cudaProxy.dll" /MANIFEST /NXCOMPAT /PDB:"myDirectory\cudaProxy.pdb" /DYNAMICBASE "path_to_lib_file\my_lib_file.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" /FIXED:NO /DEBUG:FULL /DLL /MACHINE:X86 /INCREMENTAL /PGD:"myDirectory" /ASSEMBLYDEBUG /TLBID:1 

Что я пропустил?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...