|
Replies
:
4
-
Pages
:
1
-
Last Post
:
Oct 15, 2009 5:07 PM
by: CraigularB
|
|
|
Posts:
2
From:
Davis, CA
Registered:
Sep 18, 2009
|
|
|
|
10.6 Debug Compiling Problem
Posted:
Sep 18, 2009 1:21 PM
|
|
|
After installing Xcode 3.2, the 10.6 debugger gives some strange results.
I created a new project using: Application->Command Line Tool -> C++ stdc++
Pasted in the code from cplusplus.com for istringstream.
Here is the simple code :
// using istringstream constructors.
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main () {
int n,val;
string stringvalues;
stringvalues = "125 320 512 750 333";
istringstream iss (stringvalues,istringstream::in);
for (n=0; n<5; n++)
{
iss >> val;
cout << val*2 << endl;
}
return 0;
}
Console Results for: 10.6|Debug|X86_64 or i386:
0
0
0
0
0
If set to :
10.5|Release or Debug| x86_64 or i386
10.6|Release| x86_64 or i386
Console Results:
250
640
1024
1500
666
Compiling with 10.6 Debug seems to have a problem. I tried doing a clean install of SL 10.6 and clean install of Xcode 3.2, but get same results.
Any suggestions?
17" Macbook pro (late 2007)
|
|
Posts:
6,320
Registered:
Nov 22, 2005
|
|
|
|
Re: 10.6 Debug Compiling Problem
Posted:
Sep 18, 2009 4:21 PM
in response to: Paulo Rodriguez
|
|
|
Double-click on your Xcode target, select the Build tab, scroll down to "GCC 4.2 - Preprocessing" and delete what is in "Preprocessor Macros". At first, these values just seemed to cause some harmless warning messages, but apparently they also change how software runs (or doesn't).
MacBook
Mac OS X (10.5.7)
2.0 Ghz/4GB Ram/200 HD
|
|
Posts:
6,320
Registered:
Nov 22, 2005
|
|
|
|
Re: 10.6 Debug Compiling Problem
Posted:
Sep 18, 2009 4:50 PM
in response to: Paulo Rodriguez
|
|
|
Someone in another thread has already filed a bug about this, but your example was so sweet that I just couldn't resist filing another. I edited your code just a bit to simply and clearly show the bug:
#include <iostream>
#include <sstream>
#include <string>
#ifdef _GLIBCXX_DEBUG
#define _GLIBCXX_DEBUG_DEFINED "1"
#else
#define _GLIBCXX_DEBUG_DEFINED "<undefined>"
#endif
int main()
{
std::string svalue("42");
std::istringstream in(svalue);
int value;
in >> value;
std::cout << "Original value was: " << svalue << std::endl;
std::cout
<< "With _GLIBCXX_DEBUG="
<< _GLIBCXX_DEBUG_DEFINED
<< " value is "
<< value << std::endl;
return 0;
}
Try running with default debug and release settings. Then try debug bug without these macros.
My bug will certainly be rejected as a duplicate.
I am beginning to take a perverse pleasure in filing 10.6 bugs.
But this is a very important plot point - in 10.6 you must remove the macros "_GLIBCXX_DEBUG=1 _GLIBCXX_DEBUG_PEDANTIC=1".
MacBook
Mac OS X (10.5.7)
2.0 Ghz/4GB Ram/200 HD
|
|
Posts:
2
From:
Davis, CA
Registered:
Sep 18, 2009
|
|
|
|
Re: 10.6 Debug Compiling Problem
Posted:
Sep 18, 2009 4:58 PM
in response to: Paulo Rodriguez
|
|
|
Thanks. That fixed it.
17" Macbook pro (late 2007)
|
|
Posts:
1
From:
Marquette, MI
Registered:
Jun 23, 2009
|
|
|
|
Re: 10.6 Debug Compiling Problem
Posted:
Oct 15, 2009 5:07 PM
in response to: etresoft
|
|
|
I just wanted to say thanks to this post and this thread in general, I found this when I ran into this exact error while working on a school project. So, thanks for the fix!
Macbook Pro 4,1
Mac OS X (10.6.1)
iPhone 3GS OS 3.0
|
|
|