<?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[Linker Problem]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>folgendes Problem. Ich will eine Bibliothek in mein Projekt einbinden und bekomme dabei folgende Fehlermeldungen:</p>
<blockquote>
<p>dataThread.cpp:47: undefined reference to <code>iniparser_load(char const*)' dataThread.cpp:52: undefined reference to</code>iniparser_dump(_dictionary_<em>, _IO_FILE</em>)'<br />
dataThread.cpp:57: undefined reference to <code>iniparser\_getstring(\_dictionary_*, char const*, char*)' dataThread.cpp:59: undefined reference to</code>iniparser_getstring(_dictionary_<em>, char const</em>, char*)'<br />
dataThread.cpp:61: undefined reference to <code>iniparser\_getstring(\_dictionary_*, char const*, char*)' dataThread.cpp:63: undefined reference to</code>iniparser_getint(_dictionary_<em>, char const</em>, int)'<br />
dataThread.cpp:66: undefined reference to `iniparser_freedict(_dictionary_*)'<br />
collect2: ld gab 1 als Ende-Status zurück<br />
make: *** [data] Fehler 1</p>
</blockquote>
<p>Mein Makefile sieht so aus:</p>
<pre><code class="language-cpp">CC     = g++ -ggdb
CFLAGS = -c -Wall
INCS   = -I &quot;/usr/realtime/include&quot; -I &quot;/usr/local/src/iniparser3.0b/src&quot;
OBJ    = bin/defines.o 
LIB    = -L &quot;/usr/local/src/iniparser3.0b/&quot; -liniparser -lrt

all: data distribution client

data: data.o $(OBJ) 
	$(CC) bin/data.o $(OBJ) -o bin/data $(LIB)

data.o: dataThread.cpp dataThread.h defines.h
	$(CC) $(CFLAGS) dataThread.cpp -o bin/data.o $(INCS)
</code></pre>
<p>in dem Ordner /usr/local/src/iniparser3.0.b/ sind die .so und .a files:<br />
libiniparser.a<br />
libiniparser.so.0</p>
<p>also wieso findet er die lib files nicht zum linken?</p>
<p>gruss O.G.Wrapper</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/221886/linker-problem</link><generator>RSS for Node</generator><lastBuildDate>Mon, 05 Oct 2026 12:55:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/221886.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 04 Sep 2008 15:46:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Linker Problem on Thu, 04 Sep 2008 15:46:26 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>folgendes Problem. Ich will eine Bibliothek in mein Projekt einbinden und bekomme dabei folgende Fehlermeldungen:</p>
<blockquote>
<p>dataThread.cpp:47: undefined reference to <code>iniparser_load(char const*)' dataThread.cpp:52: undefined reference to</code>iniparser_dump(_dictionary_<em>, _IO_FILE</em>)'<br />
dataThread.cpp:57: undefined reference to <code>iniparser\_getstring(\_dictionary_*, char const*, char*)' dataThread.cpp:59: undefined reference to</code>iniparser_getstring(_dictionary_<em>, char const</em>, char*)'<br />
dataThread.cpp:61: undefined reference to <code>iniparser\_getstring(\_dictionary_*, char const*, char*)' dataThread.cpp:63: undefined reference to</code>iniparser_getint(_dictionary_<em>, char const</em>, int)'<br />
dataThread.cpp:66: undefined reference to `iniparser_freedict(_dictionary_*)'<br />
collect2: ld gab 1 als Ende-Status zurück<br />
make: *** [data] Fehler 1</p>
</blockquote>
<p>Mein Makefile sieht so aus:</p>
<pre><code class="language-cpp">CC     = g++ -ggdb
CFLAGS = -c -Wall
INCS   = -I &quot;/usr/realtime/include&quot; -I &quot;/usr/local/src/iniparser3.0b/src&quot;
OBJ    = bin/defines.o 
LIB    = -L &quot;/usr/local/src/iniparser3.0b/&quot; -liniparser -lrt

all: data distribution client

data: data.o $(OBJ) 
	$(CC) bin/data.o $(OBJ) -o bin/data $(LIB)

data.o: dataThread.cpp dataThread.h defines.h
	$(CC) $(CFLAGS) dataThread.cpp -o bin/data.o $(INCS)
</code></pre>
<p>in dem Ordner /usr/local/src/iniparser3.0.b/ sind die .so und .a files:<br />
libiniparser.a<br />
libiniparser.so.0</p>
<p>also wieso findet er die lib files nicht zum linken?</p>
<p>gruss O.G.Wrapper</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1576615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1576615</guid><dc:creator><![CDATA[O.G.Wrapper]]></dc:creator><pubDate>Thu, 04 Sep 2008 15:46:26 GMT</pubDate></item><item><title><![CDATA[Reply to Linker Problem on Thu, 04 Sep 2008 16:38:23 GMT]]></title><description><![CDATA[<p>müsste da nicht sowas in deiner -llibiniparser in den linkerprams stehen, wenn die files libiniparser heißen?<br />
bei dir steht nur -liniparser</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1576635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1576635</guid><dc:creator><![CDATA[vlad_tepesch]]></dc:creator><pubDate>Thu, 04 Sep 2008 16:38:23 GMT</pubDate></item><item><title><![CDATA[Reply to Linker Problem on Thu, 04 Sep 2008 20:24:48 GMT]]></title><description><![CDATA[<p>vlad_tepesch schrieb:</p>
<blockquote>
<p>müsste da nicht sowas in deiner -llibiniparser in den linkerprams stehen, wenn die files libiniparser heißen?<br />
bei dir steht nur -liniparser</p>
</blockquote>
<p>laut man page nicht</p>
<blockquote>
<p>-larchive<br />
--library=archive<br />
Add archive file archive to the list of files to link. This option<br />
may be used any number of times. ld will search its path-list for<br />
occurrences of &quot;libarchive.a&quot; for every archive specified.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1576751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1576751</guid><dc:creator><![CDATA[O.G.Wrapper]]></dc:creator><pubDate>Thu, 04 Sep 2008 20:24:48 GMT</pubDate></item><item><title><![CDATA[Reply to Linker Problem on Thu, 04 Sep 2008 20:46:57 GMT]]></title><description><![CDATA[<p>was ich meine, ist, dass du sagst die archive heißen libiniparser.a und ibiniparser.so.0<br />
du aber die datei iniparser mit -l angibst</p>
<p>Dabei wundert mich aber dass es keine WArnung oder einen fehler gibt, oder gibt es eine bibliothek iniparser?<br />
Wenn ja, wozu sind da libiniparser.a und ibiniparser.so.0 oder versuchst du hier ein fertiges programm (iniparser) deinem programm hinzuzulinken <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> ?</p>
<p>war aber auch nur ne vermutung, ich benutze den gcc nur recht selten und hasse makefiles - es lebe die vs-ide ;-P</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1576758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1576758</guid><dc:creator><![CDATA[vlad_tepesch]]></dc:creator><pubDate>Thu, 04 Sep 2008 20:46:57 GMT</pubDate></item><item><title><![CDATA[Reply to Linker Problem on Thu, 04 Sep 2008 20:56:07 GMT]]></title><description><![CDATA[<p>vlad_tepesch schrieb:</p>
<blockquote>
<p>was ich meine, ist, dass du sagst die archive heißen libiniparser.a und ibiniparser.so.0<br />
du aber die datei iniparser mit -l angibst</p>
<p>Dabei wundert mich aber dass es keine WArnung oder einen fehler gibt, oder gibt es eine bibliothek iniparser?<br />
Wenn ja, wozu sind da libiniparser.a und ibiniparser.so.0 oder versuchst du hier ein fertiges programm (iniparser) deinem programm hinzuzulinken <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> ?</p>
<p>war aber auch nur ne vermutung, ich benutze den gcc nur recht selten und hasse makefiles - es lebe die vs-ide ;-P</p>
</blockquote>
<p>Das ist eine Bibliothek die ini files parsed und ich versuche die einzubinden. Das Beispiel aus der bibliothek macht das linken genauso nur da funzt es und bei mir nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<pre><code class="language-cpp">#
# iniparser tests Makefile
#

CC      = gcc
CFLAGS  = -g -I../src
LFLAGS  = -L.. -liniparser
AR	    = ar
ARFLAGS = rcv
RM      = rm -f

default: all

all: iniexample parse

iniexample: iniexample.c
	$(CC) $(CFLAGS) -o iniexample iniexample.c -I../src -L.. -liniparser

parse: parse.c
	$(CC) $(CFLAGS) -o parse parse.c -I../src -L.. -liniparser

clean veryclean:
	$(RM) iniexample example.ini parse
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1576774</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1576774</guid><dc:creator><![CDATA[O.G.Wrapper]]></dc:creator><pubDate>Thu, 04 Sep 2008 20:56:07 GMT</pubDate></item><item><title><![CDATA[Reply to Linker Problem on Fri, 05 Sep 2008 08:43:22 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>O.G.Wrapper schrieb:</p>
<blockquote>
<p>Das ist eine Bibliothek die ini files parsed und ich versuche die einzubinden. Das Beispiel aus der bibliothek macht das linken genauso nur da funzt es und bei mir nicht</p>
</blockquote>
<p>Es gibt aber noch einen entscheidenden Unterschied:</p>
<p>Da <em>iniparser</em> eine C-Bibliothek ist, wird im Beispiel mit dem C-Compiler gearbeitet, du versuchst, den C++-Compiler zu nutzen. Da gibt es aber einiges zu beachten (<em>extern C</em>-Blöcke nutzen), nachzulesen hier:</p>
<p><a href="http://www.parashift.com/c++-faq-lite/mixing-c-and-cpp.html" rel="nofollow">http://www.parashift.com/c++-faq-lite/mixing-c-and-cpp.html</a></p>
<p>MfG,</p>
<p>Probe-Nutzer</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1576970</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1576970</guid><dc:creator><![CDATA[Probe-Nutzer]]></dc:creator><pubDate>Fri, 05 Sep 2008 08:43:22 GMT</pubDate></item><item><title><![CDATA[Reply to Linker Problem on Fri, 05 Sep 2008 11:18:22 GMT]]></title><description><![CDATA[<p>danke, läuft jetzt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1577076</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1577076</guid><dc:creator><![CDATA[O.G.Wrapper]]></dc:creator><pubDate>Fri, 05 Sep 2008 11:18:22 GMT</pubDate></item></channel></rss>