<?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[Problem beim Linken einer statischen Library.]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes Problem:</p>
<p>Ich habe eine statische Library Namens ccns_util.a geschrieben und kompiliert.<br />
Jetzt möchte ich diese Library gegen ein Testprogramm linken und dort die Funktion getFilters() der Klasse PipelineConfigurationParser aufrufen. PipelineConfigurationParser ist als Singleton implementiert.</p>
<p>Allerdings bekomme ich beim Kompilieren folgende Fehlermeldung:</p>
<blockquote>
<p>g++ -m64 -o bin/tests build/test_main.o build/binarybuffer.o build/name.o build/ccnssettings.o build/filters.o build/packetmanager.o build/cryptoppdigest.o build/dsa.o -L/usr/local/lib -L/usr/lib -lpthread -lboost_unit_test_framework ../src/crypto/lib/libccns_crypto.a ../src/util/lib/libccns_util.a -lcryptopp -lboost_system -lboost_filesystem -lxml2<br />
build/filters.o: In function <code>CCNS\_Filter\_Tests::some\_tests::test\_method()': /home/dposch/ccns/tests/util\_test/filters.cc:18: undefined reference to</code>ccns::util::PipelineConfigurationParser::getFilters(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;)'</p>
</blockquote>
<p>Könnt ihr mir sagen was da beim Linken nicht klappt?</p>
<p>Hier ein bisschen Code:</p>
<p>Headerfile des PipelineConfigurationParser der Library ccns_util.a</p>
<pre><code>namespace ccns
{
    namespace util
    {
        class PipelineConfigurationParser
        {
        public:
            static PipelineConfigurationParser* Instance();
            boost::container::list&lt;std::string&gt; getFilters(const std::string &amp;pipelineName, const std::string &amp;file);

        protected:
            static PipelineConfigurationParser *parser;
            PipelineConfigurationParser();

        };
    }
}
</code></pre>
<p>Aufruf der Funktion getFilters() im Testprogram;</p>
<pre><code>using namespace ccns::util;
BOOST_AUTO_TEST_CASE( some_tests )
{
    std::string pipelinename = &quot;pipeline2&quot;;
    std::string file = &quot;/home/dposch/ccns/tests/util_test/filters.config&quot;;

    boost::container::list&lt;std::string&gt; list = PipelineConfigurationParser::Instance()-&gt;getFilters(pipelinename,file);
}
</code></pre>
<p>Anmerkung: Alle anderen Objekte und Funktionen der ccns_util.a Library lassen sich ohne Probleme instanzieren bzw. aufrufen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> .</p>
<p>LG<br />
Daniel</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/318555/problem-beim-linken-einer-statischen-library</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Jul 2026 06:48:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/318555.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 17 Jul 2013 13:19:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem beim Linken einer statischen Library. on Wed, 17 Jul 2013 13:19:01 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes Problem:</p>
<p>Ich habe eine statische Library Namens ccns_util.a geschrieben und kompiliert.<br />
Jetzt möchte ich diese Library gegen ein Testprogramm linken und dort die Funktion getFilters() der Klasse PipelineConfigurationParser aufrufen. PipelineConfigurationParser ist als Singleton implementiert.</p>
<p>Allerdings bekomme ich beim Kompilieren folgende Fehlermeldung:</p>
<blockquote>
<p>g++ -m64 -o bin/tests build/test_main.o build/binarybuffer.o build/name.o build/ccnssettings.o build/filters.o build/packetmanager.o build/cryptoppdigest.o build/dsa.o -L/usr/local/lib -L/usr/lib -lpthread -lboost_unit_test_framework ../src/crypto/lib/libccns_crypto.a ../src/util/lib/libccns_util.a -lcryptopp -lboost_system -lboost_filesystem -lxml2<br />
build/filters.o: In function <code>CCNS\_Filter\_Tests::some\_tests::test\_method()': /home/dposch/ccns/tests/util\_test/filters.cc:18: undefined reference to</code>ccns::util::PipelineConfigurationParser::getFilters(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;)'</p>
</blockquote>
<p>Könnt ihr mir sagen was da beim Linken nicht klappt?</p>
<p>Hier ein bisschen Code:</p>
<p>Headerfile des PipelineConfigurationParser der Library ccns_util.a</p>
<pre><code>namespace ccns
{
    namespace util
    {
        class PipelineConfigurationParser
        {
        public:
            static PipelineConfigurationParser* Instance();
            boost::container::list&lt;std::string&gt; getFilters(const std::string &amp;pipelineName, const std::string &amp;file);

        protected:
            static PipelineConfigurationParser *parser;
            PipelineConfigurationParser();

        };
    }
}
</code></pre>
<p>Aufruf der Funktion getFilters() im Testprogram;</p>
<pre><code>using namespace ccns::util;
BOOST_AUTO_TEST_CASE( some_tests )
{
    std::string pipelinename = &quot;pipeline2&quot;;
    std::string file = &quot;/home/dposch/ccns/tests/util_test/filters.config&quot;;

    boost::container::list&lt;std::string&gt; list = PipelineConfigurationParser::Instance()-&gt;getFilters(pipelinename,file);
}
</code></pre>
<p>Anmerkung: Alle anderen Objekte und Funktionen der ccns_util.a Library lassen sich ohne Probleme instanzieren bzw. aufrufen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> .</p>
<p>LG<br />
Daniel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2339445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2339445</guid><dc:creator><![CDATA[daniel_c++]]></dc:creator><pubDate>Wed, 17 Jul 2013 13:19:01 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Linken einer statischen Library. on Wed, 17 Jul 2013 13:23:03 GMT]]></title><description><![CDATA[<p>Dann wirst du die Funktion wohl nicht implementiert haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2339446</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2339446</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Wed, 17 Jul 2013 13:23:03 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Linken einer statischen Library. on Wed, 17 Jul 2013 13:28:07 GMT]]></title><description><![CDATA[<p>haha fast richtig <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>Im .cc war die Funktion</p>
<p>nicht alls KlassenFunktion definiert <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<pre><code>boost::container::list&lt;std::string&gt; getFilters(const std::string &amp;pipelineName, const std::string &amp;file)
</code></pre>
<pre><code>boost::container::list&lt;std::string&gt; PipelineConfigurationParser::getFilters(const std::string &amp;pipelineName, const std::string &amp;file)
</code></pre>
<p>Des übersehe ich immer <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>LG<br />
Daniel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2339448</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2339448</guid><dc:creator><![CDATA[daniel_c++]]></dc:creator><pubDate>Wed, 17 Jul 2013 13:28:07 GMT</pubDate></item></channel></rss>