Код OpenCL, который компилируется в Linux, не компилируется в Windows - PullRequest
2 голосов
/ 19 июля 2010

В последнее время я писал некоторый код OpenCL для Linux (Ubuntu 10.4, ATI Catalyst 10.4 и ATI SDK v2.1), и он прекрасно работает на Linux., я получил ошибки сборки программы с жалобами на

"в этом объявлении нет класса хранения или спецификатора типа"

, а затем "глобальная переменная должна быть объявлена ​​в константе addrSapce"

даженаличие void-ядра не работает, черт возьми, я прокомментировал код, и он все равно выдал те же ошибки, лол!

достаточно странно, что сэмплы работают нормально.когда я скопировал свой код в примеры проектов, он выдал те же ошибки.

Я использую 32-битные драйверы Windows 7, ATI Stream SDK v2.1 и v10.6 (потому что я не смог найти10.4 для Windows где угодно, что печально, так как 10.6 не имеет гарантии для поддержки OpenCL, способ пойти и amd lol!)

Я вырезал все ядра и оставил только это, у меня все еще есть те же ошибкивот это

__kernel void set_float( __global float* buff ,
                                   float v) { 
            buff[get_global_id(0)]=v;
}

Ответы [ 2 ]

3 голосов
/ 20 июля 2010

Человек, независимо от того, сколько раз вас кусают строки, никто никогда не учится.

Это была просто непустая завершенная строковая проблема. Lol.

0 голосов
/ 19 июля 2010

У меня работает (успешно скомпилировано с использованием AMD Stream Kernel Analyzer).На Win7 64-bit, драйверы sdk v2.1 и v10.6.Ваше форматирование ужасно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...