У меня Windows XP SP3, CUDA toolkit 3.0, CUDA SDK. Я пишу проект на С++ с использованием библиотеки QT, IDE - Code::Blocks, компилятор MinGW.
Проблема заключается в следующем: я пытаюсь создать с помощью компилятора nvcc.exe статическую библиотеку для дальнейшего её подключения в свой проект.
Создал пробные файлы:
test.cu
#include "test.h"
int func (int i, int j)
{
return (i + j);
}
test.h
int func(int i, int j);
Затем из коммандной строки выполняю:
nvcc.exe -lib test.cu -o test.a
*Примечание - установлена Visual Studio, путь VC\bin добвлен в path, поэтому компилятор cl.exe и все необходимые библиотеки находятся без проблем.
Создается файл test.a.
Далее в моем проекте я подключаю библиотеку test.a и #include "test.h"
Компилятор выдает ошибку undefune reference to 'func(int, int)'.
Для проверки я создавал эту же самую библиотеку из тех же самых файлов при помощи самого MinGW - в этом случае все прекрасно работало: библиотека подключалась, функция исполнялась.
Где я ошибся ? И как создать статическу библиотеку CUDA с помощью компилятора nvcc.exe, чтобы я мог ее подключать ее в проекте, который использует MinGW ?