<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: проблема с библиотекой</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/8125.html</link>
    <description>Пытаюсь собрать библиотеку UDF под MySQL на Linux, столкнулся со следующей проблемой&lt;br&gt;&lt;br&gt;//-----raise_lib.cpp&lt;br&gt;#if (defined(_WIN32) &amp;#124;&amp;#124; defined(__WIN32__))&lt;br&gt;#include &amp;lt;winsock.h&amp;gt; &lt;br&gt;#else&lt;br&gt;    #include &amp;lt;iostream&amp;gt;&lt;br&gt;    #include &amp;lt;stdlib.h&amp;gt;&lt;br&gt;#endif&lt;br&gt;&lt;br&gt;#include &amp;lt;mysql.h&amp;gt; &lt;br&gt;#include &amp;lt;string.h&amp;gt;&lt;br&gt;&lt;br&gt;my_bool raise_error_init(UDF_INIT *initid, UDF_ARGS *args, char *message)&lt;br&gt;&#123; &lt;br&gt;unsigned int argStringLength; &lt;br&gt;if(args-&amp;gt;arg_count==1 &amp;&amp; args-&amp;gt;arg_type&#091;0&#093;==STRING_RESULT)&lt;br&gt;&#123; &lt;br&gt;argStringLength = strlen(args-&amp;gt;args&#091;0&#093;) + 1; &lt;br&gt;memcpy( message &lt;br&gt;, args-&amp;gt;args&#091;0&#093; &lt;br&gt;, argStringLength&amp;gt;MYSQL_ERRMSG_SIZE ? MYSQL_ERRMSG_SIZE : argStringLength ); &lt;br&gt;&#125; else &#123; &lt;br&gt;memcpy( message &lt;br&gt;, &quot;Unspecified error raised&quot; &lt;br&gt;, 25 ); &lt;br&gt;&#125; &lt;br&gt;return 1; &lt;br&gt;&#125; &lt;br&gt;&lt;br&gt;long long raise_error( UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error )&lt;br&gt;&#123; &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 -Wall -fPIC -I/usr/include/mysql -c ./raise_lib.cpp -o ./linux/raise_lib.o&lt;br&gt;gcc -lc -Wl,--export-dynamic -shared ./linux/raise_lib.o -O1 -o ./li</description>

<item>
    <title>проблема с библиотекой (vic)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/8125.html#2</link>
    <pubDate>Thu, 05 Mar 2009 07:27:20 GMT</pubDate>
    <description>Решите еще одну, соблюдаете соглашении о наименовании либы - приставка префикс lib, суффикс .so, т.е. libraise.so что позволит традиционным способом через -lraise ее подключать. &lt;br&gt;</description>
</item>

<item>
    <title>проблема с библиотекой (SergSW)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/8125.html#1</link>
    <pubDate>Thu, 05 Mar 2009 05:33:22 GMT</pubDate>
    <description>Решил проблему&lt;br&gt;добавил&lt;br&gt;// raise_lib.h&lt;br&gt;#include &amp;lt;mysql.h&amp;gt;&lt;br&gt;&lt;br&gt;extern &quot;C&quot;&lt;br&gt;&#123;&lt;br&gt;my_bool raise_error_init( &lt;br&gt;UDF_INIT *initid &lt;br&gt;, UDF_ARGS *args &lt;br&gt;, char *message &lt;br&gt;);&lt;br&gt;&lt;br&gt;long long raise_error( &lt;br&gt;UDF_INIT *initid &lt;br&gt;, UDF_ARGS *args &lt;br&gt;, char *is_null &lt;br&gt;, char *error &lt;br&gt;);&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;и изменил скрипт компиляции&lt;br&gt;gcc -Wall -fPIC -I/usr/include/mysql -c ./raise_lib.cpp -o ./linux/raise_lib.o -include ./raise_lib.h&lt;br&gt;gcc -lc -Wl,--export-dynamic -shared ./linux/raise_lib.o -O1 -o ./linux/raise_lib.so&lt;br&gt;</description>
</item>

</channel>
</rss>
