-2

Я установил code::blocks и GNU GCC + SDK Stream (Open GL) в точности так, как описано в руководстве «Игра с OpenCL: размытие по Гауссу» Лефтериса. Почему я не могу скомпилировать, используя пробелы в пути к библиотеке, когда автор Лефтерис мог? Путь потока SDK неизменен:

C:\Program Files\AMD APP 

, Когда я пытаюсь GCC видит это как

"Files\AMD" 

... и генерирует ошибки. Любое решение для этого? Я использую Windows XP.

2 ответа2

1

Попробуйте поместить кавычки вокруг сегментов с пробелами в аргументе строки CMD GCC, например,

C:\"Program Files"\"AMD APP"\... 

или же

"C:\Program Files\AMD APP\..."
0

Никакие кавычки не помогают в любой форме. Это не имеет ничего общего с пробелами, но с длиной имени файла. Компилятор видит его как старый MS-DOS в виде 8 символов для имени файла и 3 символов для расширения. Любое более длинное имя файла / папки должно быть переименовано.

Решение: 1. Перейдите в каталог, в котором вы хотите получить реальное имя Создать ссылку на command.com; поле рабочего пути остается пустым 2. отправить 3. запустить command.com в папке 4. в командной строке введите dir 5. выделите текст и скопируйте его в буфер обмена, введя 6. отредактируйте текст по необходимости и вставьте его в код::Block Вот примеры моих путей:

C:\PROGRA~1\AMDAPP~1\lib\x86\OpenCL.lib

(ярлык для C:\Program Files\AMD APP\lib\x86\OpenCL.lib )

W:\___NEW~1\GAUSSI~1\GAUSSI~2\refu.dll

(ярлык для W:\___NEW_PROJECTS\GaussianBlur\Gaussian_with_OpenCL\refu.dll)

Так что теперь это работает и ошибки исчезают. Я надеюсь, что это помогает другим.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .