我完全按照 Lefteris 的教程“玩转 OpenCL:高斯模糊”中所述安装了 code::blocks 和 GNU GCC + SDK Stream (Open GL)。为什么我不能使用库路径中的空格进行编译,而作者 Lefteris 可以?SDK Stream 路径不可更改:
C:\Program Files\AMD APP
。当我尝试 GCC 时,它看起来像
"Files\AMD"
... 并产生错误。有解决方案吗?我使用的是 Windows XP。
答案1
尝试用引号将 GCC CMD 行参数中带有空格的段括起来,例如,
C:\"Program Files"\"AMD APP"\...
或者
"C:\Program Files\AMD APP\..."
答案2
引号没有任何帮助。这与空格无关,但与文件名的长度有关。编译器将其视为旧版 MS-DOS,文件名为 8 个字符,扩展名为 3 个字符。任何较长的文件名/文件夹都必须重命名。
解决方案: 1. 转到您需要获取真实名称的目录创建指向 command.com 的链接;工作路径字段保持为空 2. 提交 3. 在文件夹中运行 command.com 4. 在命令提示符中输入 dir 5. 选择文本并通过 Enter 将其复制到剪贴板 6. 根据需要编辑文本并将其粘贴到 Code::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
)
现在它可以正常工作并且错误消失。我希望这对其他人有所帮助。