я получаю следующее сообщение об ошибке при попытке построить код CUDA/C++ в Visual Studio 2012. Я использую CUDA v5.0Linker ошибка при построении CUDA/C++ код
1> Generating Code...
1>LINK : warning LNK4044: unrecognized option '/MLd'; ignored
1>cublas_device.lib(kepler_sm35_gemm_wrapper.obj) : error LNK2019: unresolved external symbol __cudaRegisterLinkedBinary_59_tmpxft_00001040_00000000_8_kepler_sm35_gemm_wrapper_cpp1_ii_9402ff4f referenced in function "void __cdecl __sti____cudaRegisterAll_59_tmpxft_00001040_00000000_8_kepler_sm35_gemm_wrapper_cpp1_ii_9402ff4f(void)" (?__sti____cudaRegisterAll_59_tmpxf[email protected]@YAXXZ)
Кто-нибудь имеет любую идею где проблема может быть? Я пробовал искать походы, но пока не нашел решения для этого.
Большое спасибо!
Аналогичный пост http://stackoverflow.com/questions/2061715, вы пробовали это решение? – StarPinkER
Привет, Jermaine, Да, у меня есть правильный путь библиотеки CUDA, добавленный в «Свойства конфигурации -> Linker-> Input», и я все еще получаю эту ошибку. Фактически, cublas_device.lib (файл с нерешенным внешним символом) сам по себе является частью библиотеки CUDA, поэтому мой компоновщик может правильно найти эти файлы библиотек. Я думаю, что этот файл библиотеки ссылается на то, что не находит компоновщик. Кроме того, это происходит только тогда, когда моя платформа настройки Visual Studio является «Debug». Когда это «Release», исполняемый файл строит правильно. – assassin
Хорошо, попробуйте эти две вещи: сначала добавьте cudart.lib, если вы этого еще не сделали, но, возможно, вы это сделали.second: попробуйте включить отдельную компиляцию в свойствах вашего приложения -> параметры компоновщика. Посмотрите, поможет ли это. (EDIT: также попробуйте удалить device-link.obj, как описано [здесь] (https://devtalk.nvidia.com/default/topic/525616/cuda-programming-and-performance/question-about-___cudaregisterlinkedbinary-referenced- in-function -____ cudaregisterall /) –