<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Mal wieder ein Compilerfehler, den ich nicht verstehe...]]></title><description><![CDATA[<p>Habe folgenden Code geschrieben (noch nicht fertig):</p>
<pre><code class="language-cpp">#ifndef DATABUFFER_H
#define DATABUFFER_H

#include &lt;string&gt;
#include &lt;vector&gt;
#include &lt;iostream&gt;
#include &lt;sstream&gt;
#include &lt;fstream&gt;

#include &lt;time.h&gt;
#include &lt;stdio.h&gt;

#include &quot;Constants.h&quot;

class Data {
	public:
	static const int bufferSize = 22*sizeof(int)+3*sizeof(double)+100*sizeof(char);
	char buffer[bufferSize];

	int autolartVector[Constants::numberOfPoissonAttributes + Constants::numberOfASNAttributes];
	double llrPoisson;
	double llrMulti;
	double llr;
	std::string domain;
};

class DataBuffer {
	public:

	void convertData( std::string filename );
	std::vector&lt;Data&gt; convertBinaryDataToText( char* data, int dataLength, std::string filename );
	void writeTextDataToFile( std::vector&lt;Data&gt;&amp; data, std::string filename );
	char* readDataFromFile( std::string filename );

};

#endif
</code></pre>
<pre><code class="language-cpp">#include &quot;DataBuffer.h&quot;

using namespace std;

void DataBuffer::convertData( std::string filename ) {
	readDataFromFile( filename );
}

std::vector&lt;Data&gt; DataBuffer::convertBinaryDataToText( char* binData, int dataLength, std::string filename ) {

	std::vector&lt;Data&gt; data;
	char* bufferPointer;

	for( int i = 0; i &lt; dataLength; ++i ) {
		Data d;
		memcpy( d.autolartVector, bufferPointer, sizeof(int)*(Constants::numberOfPoissonAttributes + Constants::numberOfASNAttributes) );
		bufferPointer += sizeof(int)*(Constants::numberOfPoissonAttributes + Constants::numberOfASNAttributes);

		memcpy( &amp;d.llrPoisson, bufferPointer, sizeof( double ) );
		bufferPointer += sizeof(double);
		memcpy( &amp;d.llrMulti, bufferPointer, sizeof( double ) );
		bufferPointer += sizeof(double);
		memcpy( &amp;d.llr, bufferPointer, sizeof( double ) );
		bufferPointer += sizeof(double);

		char domainName[100];
		strncpy( domainName, bufferPointer, 100 );
		domainName[99] = '\0';
		d.domain = string(domainName);

		data.push_back(d);
	}

	return data;

}

void DataBuffer::writeTextDataToFile( std::vector&lt;Data&gt;&amp; data, std::string filename ) {
	ofstream file( filename.c_str() );
	for( size_t i = 0; i &lt; data.size(); ++i ) {
		stringstream ss;
		ss &lt;&lt; data[i].domain &lt;&lt; &quot;\t&quot; &lt;&lt; data[i].llrPoisson &lt;&lt; &quot;\t&quot; &lt;&lt; data[i].llrMulti &lt;&lt; &quot;\t&quot; &lt;&lt; (data[i].llrPoisson+data[i].llrMulti) &lt;&lt; &quot;\t&quot;;
		for( int j = 0; j &lt; Constants::numberOfPoissonAttributes + Constants::numberOfASNAttributes; ++j )
			ss &lt;&lt; data[i].autolartVector[i];
		ss &lt;&lt; endl;
		file &lt;&lt; ss.str();
	}
	file.close();
}

char* readDataFromFile( std::string filename ) {
	FILE* infile = NULL;

	infile = fopen( filename.c_str(), &quot;rb&quot; );
	fseek( infile, 0, SEEK_END );
	int fileSize = ftell( infile );
	// return the file pointer to begin of file if you want to read it
	rewind( infile );

	cout &lt;&lt; &quot;Dateigroesse = &quot; &lt;&lt; fileSize &lt;&lt; &quot; bytes&quot; &lt;&lt; endl;

	fclose( infile );

	return 0;
}
</code></pre>
<p>Und bekomme diese endlos langen Fehler beim Linken:</p>
<blockquote>
<p>make<br />
g++ -m64 -g -Wall -Werror -Wcomment -o DataBuffer.o -c DataBuffer.cpp<br />
gcc -m64 -Wall -Werror -Wcomment -o Converter Converter.o DataBuffer.o<br />
Converter.o: In function <code>\_\_static\_initialization\_and\_destruction_0': /usr/lib/gcc/x86\_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/iostream:76: undefined reference to</code>std::ios_base::Init::Init()'<br />
Converter.o: In function <code>\_\_tcf\_0': /usr/lib/gcc/x86\_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/iostream:76: undefined reference to</code>std::ios_base::Init::~Init()'<br />
Converter.o: In function <code>main': /mnt/raid0/7k2/uniuser/ddos/autolart/traffic/ConvertBinaryTraffic2Text/Converter.cpp:7: undefined reference to</code>std::allocator&lt;char&gt;::allocator()'<br />
/mnt/raid0/7k2/uniuser/ddos/autolart/traffic/ConvertBinaryTraffic2Text/Converter.cpp:7: undefined reference to <code>std::basic\_string&lt;char, std::char\_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;::basic_string(char const*, std::allocator&lt;char&gt; const&amp;)' /mnt/raid0/7k2/uniuser/ddos/autolart/traffic/ConvertBinaryTraffic2Text/Converter.cpp:7: undefined reference to</code>std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;::~basic_string()'<br />
/mnt/raid0/7k2/uniuser/ddos/autolart/traffic/ConvertBinaryTraffic2Text/Converter.cpp:7: undefined reference to <code>std::basic\_string&lt;char, std::char\_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;::~basic_string()' /mnt/raid0/7k2/uniuser/ddos/autolart/traffic/ConvertBinaryTraffic2Text/Converter.cpp:7: undefined reference to</code>std::allocator&lt;char&gt;::~allocator()'<br />
/mnt/raid0/7k2/uniuser/ddos/autolart/traffic/ConvertBinaryTraffic2Text/Converter.cpp:7: undefined reference to <code>std::allocator&lt;char&gt;::~allocator()' Converter.o:(.eh\_frame+0x13): undefined reference to</code>__gxx_personality_v0'<br />
DataBuffer.o: In function `__static_initialization_and_destruction_0':<br />
usw...</p>
</blockquote>
<p>Was ist falsch? Ich sehe es nicht...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/277913/mal-wieder-ein-compilerfehler-den-ich-nicht-verstehe</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 16:24:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/277913.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 26 Nov 2010 11:42:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mal wieder ein Compilerfehler, den ich nicht verstehe... on Fri, 26 Nov 2010 11:42:23 GMT]]></title><description><![CDATA[<p>Habe folgenden Code geschrieben (noch nicht fertig):</p>
<pre><code class="language-cpp">#ifndef DATABUFFER_H
#define DATABUFFER_H

#include &lt;string&gt;
#include &lt;vector&gt;
#include &lt;iostream&gt;
#include &lt;sstream&gt;
#include &lt;fstream&gt;

#include &lt;time.h&gt;
#include &lt;stdio.h&gt;

#include &quot;Constants.h&quot;

class Data {
	public:
	static const int bufferSize = 22*sizeof(int)+3*sizeof(double)+100*sizeof(char);
	char buffer[bufferSize];

	int autolartVector[Constants::numberOfPoissonAttributes + Constants::numberOfASNAttributes];
	double llrPoisson;
	double llrMulti;
	double llr;
	std::string domain;
};

class DataBuffer {
	public:

	void convertData( std::string filename );
	std::vector&lt;Data&gt; convertBinaryDataToText( char* data, int dataLength, std::string filename );
	void writeTextDataToFile( std::vector&lt;Data&gt;&amp; data, std::string filename );
	char* readDataFromFile( std::string filename );

};

#endif
</code></pre>
<pre><code class="language-cpp">#include &quot;DataBuffer.h&quot;

using namespace std;

void DataBuffer::convertData( std::string filename ) {
	readDataFromFile( filename );
}

std::vector&lt;Data&gt; DataBuffer::convertBinaryDataToText( char* binData, int dataLength, std::string filename ) {

	std::vector&lt;Data&gt; data;
	char* bufferPointer;

	for( int i = 0; i &lt; dataLength; ++i ) {
		Data d;
		memcpy( d.autolartVector, bufferPointer, sizeof(int)*(Constants::numberOfPoissonAttributes + Constants::numberOfASNAttributes) );
		bufferPointer += sizeof(int)*(Constants::numberOfPoissonAttributes + Constants::numberOfASNAttributes);

		memcpy( &amp;d.llrPoisson, bufferPointer, sizeof( double ) );
		bufferPointer += sizeof(double);
		memcpy( &amp;d.llrMulti, bufferPointer, sizeof( double ) );
		bufferPointer += sizeof(double);
		memcpy( &amp;d.llr, bufferPointer, sizeof( double ) );
		bufferPointer += sizeof(double);

		char domainName[100];
		strncpy( domainName, bufferPointer, 100 );
		domainName[99] = '\0';
		d.domain = string(domainName);

		data.push_back(d);
	}

	return data;

}

void DataBuffer::writeTextDataToFile( std::vector&lt;Data&gt;&amp; data, std::string filename ) {
	ofstream file( filename.c_str() );
	for( size_t i = 0; i &lt; data.size(); ++i ) {
		stringstream ss;
		ss &lt;&lt; data[i].domain &lt;&lt; &quot;\t&quot; &lt;&lt; data[i].llrPoisson &lt;&lt; &quot;\t&quot; &lt;&lt; data[i].llrMulti &lt;&lt; &quot;\t&quot; &lt;&lt; (data[i].llrPoisson+data[i].llrMulti) &lt;&lt; &quot;\t&quot;;
		for( int j = 0; j &lt; Constants::numberOfPoissonAttributes + Constants::numberOfASNAttributes; ++j )
			ss &lt;&lt; data[i].autolartVector[i];
		ss &lt;&lt; endl;
		file &lt;&lt; ss.str();
	}
	file.close();
}

char* readDataFromFile( std::string filename ) {
	FILE* infile = NULL;

	infile = fopen( filename.c_str(), &quot;rb&quot; );
	fseek( infile, 0, SEEK_END );
	int fileSize = ftell( infile );
	// return the file pointer to begin of file if you want to read it
	rewind( infile );

	cout &lt;&lt; &quot;Dateigroesse = &quot; &lt;&lt; fileSize &lt;&lt; &quot; bytes&quot; &lt;&lt; endl;

	fclose( infile );

	return 0;
}
</code></pre>
<p>Und bekomme diese endlos langen Fehler beim Linken:</p>
<blockquote>
<p>make<br />
g++ -m64 -g -Wall -Werror -Wcomment -o DataBuffer.o -c DataBuffer.cpp<br />
gcc -m64 -Wall -Werror -Wcomment -o Converter Converter.o DataBuffer.o<br />
Converter.o: In function <code>\_\_static\_initialization\_and\_destruction_0': /usr/lib/gcc/x86\_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/iostream:76: undefined reference to</code>std::ios_base::Init::Init()'<br />
Converter.o: In function <code>\_\_tcf\_0': /usr/lib/gcc/x86\_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/iostream:76: undefined reference to</code>std::ios_base::Init::~Init()'<br />
Converter.o: In function <code>main': /mnt/raid0/7k2/uniuser/ddos/autolart/traffic/ConvertBinaryTraffic2Text/Converter.cpp:7: undefined reference to</code>std::allocator&lt;char&gt;::allocator()'<br />
/mnt/raid0/7k2/uniuser/ddos/autolart/traffic/ConvertBinaryTraffic2Text/Converter.cpp:7: undefined reference to <code>std::basic\_string&lt;char, std::char\_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;::basic_string(char const*, std::allocator&lt;char&gt; const&amp;)' /mnt/raid0/7k2/uniuser/ddos/autolart/traffic/ConvertBinaryTraffic2Text/Converter.cpp:7: undefined reference to</code>std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;::~basic_string()'<br />
/mnt/raid0/7k2/uniuser/ddos/autolart/traffic/ConvertBinaryTraffic2Text/Converter.cpp:7: undefined reference to <code>std::basic\_string&lt;char, std::char\_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;::~basic_string()' /mnt/raid0/7k2/uniuser/ddos/autolart/traffic/ConvertBinaryTraffic2Text/Converter.cpp:7: undefined reference to</code>std::allocator&lt;char&gt;::~allocator()'<br />
/mnt/raid0/7k2/uniuser/ddos/autolart/traffic/ConvertBinaryTraffic2Text/Converter.cpp:7: undefined reference to <code>std::allocator&lt;char&gt;::~allocator()' Converter.o:(.eh\_frame+0x13): undefined reference to</code>__gxx_personality_v0'<br />
DataBuffer.o: In function `__static_initialization_and_destruction_0':<br />
usw...</p>
</blockquote>
<p>Was ist falsch? Ich sehe es nicht...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1986084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1986084</guid><dc:creator><![CDATA[HändyÄndy]]></dc:creator><pubDate>Fri, 26 Nov 2010 11:42:23 GMT</pubDate></item><item><title><![CDATA[Reply to Mal wieder ein Compilerfehler, den ich nicht verstehe... on Fri, 26 Nov 2010 11:44:39 GMT]]></title><description><![CDATA[<p>sollte ich noch nachliefern:<br />
Converter.cpp</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

#include &quot;DataBuffer.h&quot;

int main() {
	DataBuffer db;
	db.convertData(&quot;../trafficFiles/traffic_1290728731&quot;);
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1986086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1986086</guid><dc:creator><![CDATA[HändyÄndy]]></dc:creator><pubDate>Fri, 26 Nov 2010 11:44:39 GMT</pubDate></item><item><title><![CDATA[Reply to Mal wieder ein Compilerfehler, den ich nicht verstehe... on Fri, 26 Nov 2010 11:48:10 GMT]]></title><description><![CDATA[<p>Du benutzt einen C Compiler</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1986090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1986090</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 26 Nov 2010 11:48:10 GMT</pubDate></item><item><title><![CDATA[Reply to Mal wieder ein Compilerfehler, den ich nicht verstehe... on Fri, 26 Nov 2010 11:50:44 GMT]]></title><description><![CDATA[<blockquote>
<p>Undefined references to internal run-time library functions, such as __gxx_personality_v0, are also a symptom of linking C++ object files with gcc instead of g++. Linking the same object file with g++ supplies all the necessary C++ libraries and will produce a working executable</p>
</blockquote>
<p><a href="http://www.network-theory.co.uk/docs/gccintro/gccintro_54.html" rel="nofollow">http://www.network-theory.co.uk/docs/gccintro/gccintro_54.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1986095</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1986095</guid><dc:creator><![CDATA[l&#x27;abra d&#x27;or]]></dc:creator><pubDate>Fri, 26 Nov 2010 11:50:44 GMT</pubDate></item><item><title><![CDATA[Reply to Mal wieder ein Compilerfehler, den ich nicht verstehe... on Fri, 26 Nov 2010 11:54:43 GMT]]></title><description><![CDATA[<p>An deiner Stelle würd ich &lt;fstream&gt; für Dateioperationen benutzen. Damit ersparst du dir z. B. Ärger bei Exceptions oder kannst direkt in nen std::string einlesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1986099</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1986099</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Fri, 26 Nov 2010 11:54:43 GMT</pubDate></item><item><title><![CDATA[Reply to Mal wieder ein Compilerfehler, den ich nicht verstehe... on Fri, 26 Nov 2010 11:55:00 GMT]]></title><description><![CDATA[<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1986100</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1986100</guid><dc:creator><![CDATA[HändyÄndy]]></dc:creator><pubDate>Fri, 26 Nov 2010 11:55:00 GMT</pubDate></item><item><title><![CDATA[Reply to Mal wieder ein Compilerfehler, den ich nicht verstehe... on Fri, 26 Nov 2010 11:58:22 GMT]]></title><description><![CDATA[<p>Meinst Du sowas hier?</p>
<pre><code class="language-cpp">ofstream outfile(filename, ios::out | ios::binary );
outfile &lt;&lt; &quot;blabla&quot;;
outfile.close();
...
ifstream infile(filename, ios::in | ios::binary );
string name;
infile &gt;&gt; name;
infile.close();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1986103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1986103</guid><dc:creator><![CDATA[HändyÄndy]]></dc:creator><pubDate>Fri, 26 Nov 2010 11:58:22 GMT</pubDate></item><item><title><![CDATA[Reply to Mal wieder ein Compilerfehler, den ich nicht verstehe... on Fri, 26 Nov 2010 12:07:20 GMT]]></title><description><![CDATA[<p>HändyÄndy schrieb:</p>
<blockquote>
<p>Meinst Du sowas hier?</p>
<pre><code class="language-cpp">ofstream outfile(filename, ios::out | ios::binary );
outfile &lt;&lt; &quot;blabla&quot;;
outfile.close();
...
ifstream infile(filename, ios::in | ios::binary );
string name;
infile &gt;&gt; name;
infile.close();
</code></pre>
</blockquote>
<p>Ja, er meint so etwas in der Art. Aber sicherlich ohne close() und mit besserem Verständnis für die Modi und Operatoren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1986108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1986108</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 26 Nov 2010 12:07:20 GMT</pubDate></item><item><title><![CDATA[Reply to Mal wieder ein Compilerfehler, den ich nicht verstehe... on Fri, 26 Nov 2010 12:13:01 GMT]]></title><description><![CDATA[<p>dazu die leider viel zu üblichen Fehler:<br />
&lt;time.h&gt; und &lt;stdio.h&gt; sind kein C++. Dort heißen sie &lt;ctime&gt; und &lt;cstdio&gt; und ihre Inhalte liegen im Namespace std.</p>
<p>Außerdem slltest du std::strings besser als const referenzen übergeben statt sie zu kopieren. Und wenn du sie schon benutzt kannst du das auch dort tun wo du noch strncpy und ähnliches benutzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1986117</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1986117</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Fri, 26 Nov 2010 12:13:01 GMT</pubDate></item><item><title><![CDATA[Reply to Mal wieder ein Compilerfehler, den ich nicht verstehe... on Fri, 26 Nov 2010 12:24:48 GMT]]></title><description><![CDATA[<p>Tja, programmier normalerweise kein C++. Deswegen hab ich auch nicht viel Ahnung davon...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1986130</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1986130</guid><dc:creator><![CDATA[HändyÄndy]]></dc:creator><pubDate>Fri, 26 Nov 2010 12:24:48 GMT</pubDate></item><item><title><![CDATA[Reply to Mal wieder ein Compilerfehler, den ich nicht verstehe... on Fri, 26 Nov 2010 12:34:35 GMT]]></title><description><![CDATA[<p>HändyÄndy schrieb:</p>
<blockquote>
<p>Tja, programmier normalerweise kein C++. Deswegen hab ich auch nicht viel Ahnung davon...</p>
</blockquote>
<p>Um ehrlich zu sein sieht man das. Du solltest dir auf jeden Fall mal ein paar der Grundlagen anschauen bevor du da weiter herumprobierst. Leider funktioniert das anders nicht wirklich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1986139</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1986139</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Fri, 26 Nov 2010 12:34:35 GMT</pubDate></item></channel></rss>