【发布时间】:2011-04-17 19:55:18
【问题描述】:
我正在尝试构建/安装/使用 Poco C++ 库。我正在运行 Ubututu (Natty)。我已经编译了运行良好的静态库,但是当我将环境变量 PROJECT_BASE 设置为包含空格的路径时,出现错误:
make
/bin/sh: Syntax error: Unterminated quoted string
/bin/sh: Syntax error: Unterminated quoted string
/home/username/Documents/poco-1.4.1p1/build/rules/global:62: *** Current working directory not under $PROJECT_BASE. Stop.
我已将 PROJECT_BASE 设置为:
/files/Dropbox/Myname\'s\ Work/C++\ Work
我认为应该正确转义?添加尾随退格会给我以下替代错误:
make
/bin/sh: Syntax error: Unterminated quoted string
awk: line 1: runaway string constant "/files/Dro ...
/home/username/Documents/poco-1.4.1p1/build/rules/global:62: *** Current working directory not under $PROJECT_BASE. Stop.
我可能遗漏了一些基本的东西,但我已经努力了几天来设置 Poco C++ 库构建系统,但我希望它无济于事:S 我知道自述文件中提到了 SYMBLINKS 搞砸了PROJECT_BASE,但我没有使用任何 :S /files 是一个 ext4 挂载(相同的硬盘,单独的分区),如果这完全相关的话。
感谢您的帮助!
【问题讨论】:
-
包含引号字符和/或空格的路径在 shell 脚本中经常被错误地处理 - 只需避免它们,您的生活就会轻松很多
-
也许只是提交错误? makefile 很可能在某处出现问题
-
嗯,是的,按照这个速度,我可能只是换成使用不同的 c++ 库:P 我的印象是 Poco 没有被广泛使用/支持。我不愿意重命名目录以删除我的保管箱上的空格,因为它会同步到其他 3 个地方,并且很可能会冲突/重复加载文件:P
标签: c++ unix escaping makefile poco