This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/54775] New: string error
- From: "zerolxy at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 02 Oct 2012 00:50:24 +0000
- Subject: [Bug c++/54775] New: string error
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54775
Bug #: 54775
Summary: string error
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: zerolxy@gmail.com
I am using Eclipse, GCC 4.8 and building C++ project on both Mac OS 10.7 and
10.8. For the most of the time, the project builds and runs properly except for
some specific functions. For example:
int main( int argc, char ** argv ) {
string a = "test";
string b = "-bla";
string c;
c = a + b;
return 0;
}
The compile is successful:
Build of configuration Debug for project Working **
make all Building file: ../working.cpp Invoking: GCC C++ Compiler g++ -O0 -g3
-Wall -c -fmessage-length=0 -std=c++11 -MMD -MP -MF"working.d" -MT"working.d"
-o "working.o" "../working.cpp" Finished building: ../working.cpp Building
target: Working Invoking: MacOS X C++ Linker g++ -o "Working" ./working.o
Finished building target: Working
Build Finished **
However, I received this runtime error:
dyld: lazy symbol binding failed: Symbol not found: __ZNSsaSEOSs
Referenced from: /Volumes/Macintosh
HD/Users/zeroliu/Study/CPP/Working/Debug/Working
Expected in: /usr/lib/libstdc++.6.dylib
dyld: Symbol not found: __ZNSsaSEOSs
Referenced from: /Volumes/Macintosh
HD/Users/zeroliu/Study/CPP/Working/Debug/Working
Expected in: /usr/lib/libstdc++.6.dylib
I find that the error comes from
string c;
c = a + b;
The interesting thing is, if I make the following changes:
string c = a+b;
or
c = a;
The programs runs perfectly.