Я занимаюсь программированием с помощью nVidia CUDA C. Я использую Visual Studio 2008 в качестве среды разработки, и у меня возникают некоторые проблемы с некоторыми ссылками, и мне интересно, если кто-то знает способ исправить это или у него была такая же проблема и может предложить решение.
Моя программа состоит из 3 файлов. 1 файл заголовка (stuff.h), 1 исходный файл C (stuff.c) и 1 файл C CUDA (main.cu). (Названия фальшивые, но это только для иллюстрации).
Теперь stuff.h / stuff.c определяет / реализует некоторые вспомогательные функции, которые я вызываю из main.cu.
Я использую Visual Studio 2008 и Cuda.rules из GPU Computing SDK от nVidia, и все прекрасно компилируется, но ... когда речь идет о соединении всех файлов вместе, происходит сбой. Кажется, что все функции, определенные в stuff.h (и реализованные в stuff.c), не связаны правильно, поскольку они помечены как «неразрешенные внешние символы».
Каковы возможные причины и как я могу это исправить?
Большое спасибо,
ExtremeCoder
Хорошо, мне удалось собрать все это. Кажется, все, что мне нужно было сделать, это изменить расширение файла реализации вещи с .c на .cpp (то есть компиляция как c ++ работает, а компиляция как c - нет!).
Что может быть причиной этого? Я бы предпочел хранить все как .c вместо .cpp (так как на самом деле это код C ...
Есть указатели?