<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: линковка с динамической библиотекой</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/7794.html</link>
    <description>Уважаемые Гуру прошу Вашей помощи.&lt;br&gt;есть библиотека написанная на С++ и собрана g++&lt;br&gt;//file func.cpp&lt;br&gt;#include&amp;lt;iostream&amp;gt;&lt;br&gt;void func()&lt;br&gt;&#123;&lt;br&gt;std::cout&amp;lt;&amp;lt;&quot;Hi&#092;n&quot;;&lt;br&gt;&#125;&lt;br&gt;g++ -shared -fPIC -o libtest func.cpp&lt;br&gt;&lt;br&gt;и есть программа написанная на чистом си&lt;br&gt;//file main.c&lt;br&gt;extern void func();&lt;br&gt;int main()&lt;br&gt;&#123;&lt;br&gt;func();&lt;br&gt;return 0;&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;Вопрос:&lt;br&gt;как подключить библиотеку?&lt;br&gt;при компиляции &lt;br&gt;gcc main.c -L. -ltest -o test&lt;br&gt;получаем &lt;br&gt; gcc  main.c -L. -ltest &lt;br&gt;/tmp/ccEMHBvz.o: In function &#096;main&apos;:&lt;br&gt;main.c:(.text+0x12): undefined reference to &#096;func&apos;&lt;br&gt;collect2: выполнение ld завершилось с кодом возврата 1&lt;br&gt;&lt;br&gt;c g++ линкуется нормально.&lt;br&gt;Но для решения задачи нужно собрать приложение именно с gcc&lt;br&gt;</description>

<item>
    <title>линковка с динамической библиотекой (Fuzzy)</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/7794.html#4</link>
    <pubDate>Wed, 24 Dec 2008 09:04:15 GMT</pubDate>
    <description>Тоесть наоборот, extern &quot;C&quot; нужен для включения C в C++, для C ничего делать не нужно.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>линковка с динамической библиотекой (Fuzzy)</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/7794.html#3</link>
    <pubDate>Wed, 24 Dec 2008 08:46:44 GMT</pubDate>
    <description>&amp;gt;для решения задачи нужно собрать приложение именно с gcc &lt;br&gt;&lt;br&gt;Надо включить c++ библиотеку и взять c++ места в extern &quot;C&quot; &#123;&#125;&lt;br&gt;&lt;br&gt;gcc ... -lstdc++&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>линковка с динамической библиотекой (flighter)</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/7794.html#2</link>
    <pubDate>Wed, 24 Dec 2008 07:57:37 GMT</pubDate>
    <description>&amp;gt;extern &quot;...&quot; &lt;br&gt;&amp;gt;name mangling &lt;br&gt;&amp;gt;overloading &lt;br&gt;&lt;br&gt;Спасибо &lt;br&gt;вот код&lt;br&gt;#include&amp;lt;iostream&amp;gt;&lt;br&gt;extern &quot;C&quot; &#123;&lt;br&gt;void f1()&lt;br&gt;&#123;&lt;br&gt;  std::cout&amp;lt;&amp;lt;&quot;Hi&#092;n&quot;;&lt;br&gt;&#125;&lt;br&gt;&#125;&lt;br&gt;</description>
</item>

<item>
    <title>линковка с динамической библиотекой (const86)</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/7794.html#1</link>
    <pubDate>Wed, 24 Dec 2008 00:02:19 GMT</pubDate>
    <description>extern &quot;...&quot;&lt;br&gt;name mangling&lt;br&gt;overloading&lt;br&gt;</description>
</item>

</channel>
</rss>
