Ошибка CUDA 5.0 LNK2001: неразрешенный внешний символ для методов cuda

У меня ошибка в компоновщике

1>ManifestResourceCompile:
1>  All outputs are up-to-date.
1>kernel.cu.obj : error LNK2001: unresolved external symbol _cudaMalloc@8
1>kernel.cu.obj : error LNK2001: unresolved external symbol _cudaFree@4

Я видел похожий вопрос, добавленный здесь:
Нерешенные внешние символы в программе CUDA для начинающих
Но он уже добавил эту информацию компоновщику.

Так в чем же проблема?
Я использую Visual Studio 2010 Premium с CUDA SDK 5.0 и Nsight 3.0 для VS

Исходный код здесь: http://pastebin.com/DfdfSfWd
(Это пример, сгенерированный Visual Studio для созданного нового проекта для CUDA 5.0)

[РЕДАКТИРОВАТЬ]

Настройки для линкера

Свойства конфигурации-> Linker-> General-> Дополнительные каталоги библиотеки:

$ (CudaToolkitLibDir) $ (CUDA_LIB_PATH) $ (CUDA_PATH) \ lib \ $ (PlatformName)

Свойства конфигурации-> Linker-> Input-> Дополнительные зависимости

cuda.lib; cudart.lib; и другие библиотеки ..

Но в свойствах я вижу, что у CUDA есть собственный Linder, «CUDA Linker», а у него нет

Дополнительные библиотечные каталоги

а также

Дополнительные зависимости

поэтому я установил эти свойства, но ничего не изменилось, компоновщик по-прежнему имеет проблемы.

[РЕДАКТИРОВАТЬ]

Хорошо, ошибка когда я меняю

Свойства конфигурации-> CUDA C / C ++ -> Устройство-> Генерация кода

от

compute_10, sm_10

в

compute_20, sm_20

и добавьте флаг -dc для CUDA C / C ++

2

Решение

Хорошо, я нашел, как настроить проект для отдельной компиляции & Ссылка, ниже у нас есть пример проекта, где он работает:
пример simpleSeparateCompilation

2

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

Других решений пока нет …

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