Ошибка nvlink: неопределенная ссылка на «_Z6setTo0Pi» (C++ CUDA)C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Ошибка nvlink: неопределенная ссылка на «_Z6setTo0Pi» (C++ CUDA)

Сообщение Anonymous »

Я пытаюсь скомпилировать статическую библиотеку CUDA (.lib) и связанный с ней исполняемый файл CUDA (.exe). Вот MRE моей проблемы:
...\TestSol\TestLib\tf1.cuh

Код: Выделить всё

#include 
#include 

__device__ void setTo0(int32_t* p);
...\TestSol\TestLib\tf1.cu

Код: Выделить всё

#include "tf1.cuh"

__device__ void setTo0(int32_t* p) {
*p = 0;
}
...\TestSol\TestExe\tf2.cu

Код: Выделить всё

#include 
#include 
#include 
#include "..\TestLib\tf1.cuh"

__global__ void setArrValTo0(int32_t* arr) {
setTo0(&arr[blockIdx.x]);
}

int main() {
int32_t* p;
cudaMalloc(&p, sizeof(int32_t) * 16);
setArrValTo0(p);
int32_t* hp = new int32_t[16];
cudaMemcpy(hp, p, sizeof(int32_t) * 16, cudaMemcpyDeviceToHost);
cudaFree(p);
for (int32_t i = 0; i < 16; ++i) {
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/78445752/nvlink-error-undefined-reference-to-z6setto0pi-c-cuda[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»