Russian Qt Forum
Май 03, 2024, 21:38 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QtCreator + библиотека CUDA  (Прочитано 8848 раз)
taifun
Гость
« : Февраль 23, 2011, 11:06 »

Всем доброго времени суток!
Хочу подключить к проекту библиотеку CUDA, но что-то не клеится:
.pro
Код:
#-------------------------------------------------
#
# Project created by QtCreator 2011-02-20T15:17:48
#
#-------------------------------------------------

QT       += core
QT       -= gui

TARGET = TestCUDA
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app
SOURCES += main.cpp

INCLUDEPATH += /usr/local/cuda/include
LIBS        += -L/usr/local/cuda/lib

#include(/home/plotnikov/NVIDIA_GPU_Computing_SDK/C/common/common.mk)

file.cpp
Код:
//#include </home/plotnikov/NVIDIA_GPU_Computing_SDK/C/common/common.mk>

#include <QtCore/QCoreApplication>
#include <stdio.h>

#include <cuda.h>
#include <cuda_runtime_api.h>
#include <cuda_runtime.h>

#include <QDebug>

int main(int argc, char *argv[])
{
    int devCount;
    cudaDeviceProp devProp;

    cudaGetDeviceCount(&devCount);

    printf("Pound %d devices\n", devCount);

    for(int device = 0; device < devCount; device++){
        cudaGetDeviceProperties(&devProp, device);
        printf("Device %d\n", device);
        printf("Compute cepebility          :%d. %d\n", devProp.major, devProp.minor);
    }

    return 0;
    //return a.exec();
}

а ругаться начинает так:
Код:
/home/Project/TestCUDA-build-desktop/main.o:: In function `main':
/home/Project/TestCUDA-build-desktop/../TestCUDA/main.cpp:18: error: undefined reference to `cudaGetDeviceCount'
/home/Project/TestCUDA-build-desktop/../TestCUDA/main.cpp:23: error: undefined reference to `cudaGetDeviceProperties'
:: error: collect2: выполнение ld завершилось с кодом возврата 1

Вот что не так делаю? есть SDK и там во всех примерах подключают файл common.mk - в MakeFile (но я думаю можно и без него же обойтись как-то)
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Февраль 23, 2011, 11:21 »

LIBS        += -L/usr/local/cuda/lib -lлиба_где_находится_cudaGetDeviceCount
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
taifun
Гость
« Ответ #2 : Февраль 23, 2011, 11:28 »

там их немного, но честно говоря я не знаю в какой библиотеке они хранятся. Я слабо понимаю, но не могу ли я каким-нибудь образом обойтись только
INCLUDEPATH += /usr/local/cuda/include
 или
LIBS        += -L/usr/local/cuda/lib -lлиба_где_находится_cudaGetDeviceCount - необходимо подключать в обязательном порядке?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Февраль 23, 2011, 11:45 »

LIBS обязательно. Поищи в /usr/local/cuda/lib в файлах слово cudaGetDeviceCount (через grep). Вот либу в которой будет это слово и подключай через -l
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
taifun
Гость
« Ответ #4 : Февраль 23, 2011, 12:11 »

Спасибо! справился, заработало
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.053 секунд. Запросов: 23.