2

在编译 Apache 源代码时,我已经能够很好地定义一个宏:

# export CFLAGS=" -DSINGLE_LISTEN_UNSERIALIZED_ACCEPT"   // OR even:
# export CFLAGS=" -DSINGLE_LISTEN_UNSERIALIZED_ACCEPT=1"

...就像一个魅力,每次我尝试设置:

# export CFLAGS=" -DDEFAULT_PIDLOG=/var/run/apache/apache.pid"

我在以下期间收到此错误make

prefork.c: In function ‘prefork_pre_config’:
prefork.c:1340:20: error: expected expression before ‘/’ token
make[4]: *** [prefork.lo] Error 1

所以我尝试转义正斜杠和 DEFAULT_PIDLOG 值的不同引用技术,但它总是失败,显然是因为值中的正斜杠。

4

2 回答 2

2

似乎 DEFAULT_PIDLOG 应该定义一个常量 C 字符串。尝试

export CFLAGS="-DDEFAULT_PIDLOG=\\\"/var/run/apache/apache.pid\\\""

(感谢@mathk)

于 2013-08-15T11:00:14.763 回答
0

DEFAULT_PIDLOG预计将定义一个常量 C 字符串。尝试导出 CFLAGS="-DDEFAULT_PIDLOG=\\"/var/run/apache/apache.pid\\"

于 2013-08-12T16:05:32.893 回答