Bug #65217 [Opn->Csd]: "unable to find string literal operator" with C++11 option
| From: | ab@php.net | Date: | Sun, 07 Jul 2013 21:35:41 +0000 |
| Subject: | Bug #65217 [Opn->Csd]: "unable to find string literal operator" with C++11 option | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-180123@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=65217&edit=1
ID: 65217
Updated by: ab@php.net
Reported by: Azq2 at ya dot ru
Summary: "unable to find string literal operator" with C++11
option
-Status: Open
+Status: Closed
Type: Bug
Package: Compile Failure
Operating System: Ubuntu 13.04
PHP Version: 5.4.17
-Assigned To:
+Assigned To: ab
Block user comment: N
Private report: N
New Comment:
This issue was actually fixed with this commit
http://git.php.net/?p=php-
src.git;a=commitdiff;h=31468401b790e439734cb2ac8de928adaad74a85
about half a year ago. That has to be around 5.4.12 or like that. Sure you use
5.4.17, not earlier?
Previous Comments:
------------------------------------------------------------------------
[2013-07-07 14:55:32] Azq2 at ya dot ru
Description:
------------
I can not compile an extension using C + +11.
An error error: unable to find string literal operator 'operator"" name'
What would fix it - you need to add spaces in the concatenation of the macro
ZEND_NS_NAME.
That is, here it is:
#define ZEND_NS_NAME(ns, name) ns"\\"name
Replace this:
#define ZEND_NS_NAME(ns, name) ns "\\" name
// Russian (original):
Ðе Ð¼Ð¾Ð³Ñ ÑкомпилиÑоваÑÑ
ÑаÑÑиÑение, иÑполÑзÑÑ C++11.
ÐÐ¾Ð·Ð½Ð¸ÐºÐ°ÐµÑ Ð¾Ñибка: error: unable to find string literal
operator 'operator""
name'
ЧÑо Ð±Ñ ÐµÑ Ð¸ÑпÑавиÑÑ - нÑжно
добавиÑÑ Ð¿ÑÐ¾Ð±ÐµÐ»Ñ Ð²
конкаÑенаÑÐ¸Ñ Ð² макÑоÑе
ZEND_NS_NAME.
Т.е. Ð²Ð¾Ñ ÑÑо:
#define ZEND_NS_NAME(ns, name) ns"\\"name
ÐамениÑÑ Ð½Ð° ÑÑо:
#define ZEND_NS_NAME(ns, name) ns "\\" name
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=65217&edit=1