<html><head></head><body><p dir="ltr">You only need the unixodbc package and the unixodbc-dev package. To compile you need -Idir where dir is where sql*.h are located. To link you need -Ldir where dir is where <a href="http://libodbc.so">libodbc.so</a> <a href="http://libodbcinst.so">libodbcinst.so</a> are located and a -lodbc and -lodbcinst. So cc -I/dir -Ldir xxx.c -Ldir -lodbc -lodbcinst should do it.<br><br></p>
<p dir="ltr"><!-- tmjah_g_1299s -->Martin J. Evans <!-- tmjah_g_1299e --><br><br><br></p>
<div class="gmail_quote" >On 12 Mar 2016, at 18:34, David Adler &lt;<a href="mailto:dadler@adtechgeospatial.com" target="_blank">dadler@adtechgeospatial.com</a>&gt; wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="blue">I just want to run a test program using ODBC calls on Ubuntu but can't <br>find any information on what includes to use or how to link. Is there a <br>sample makefile? I've used ODBC on Windows with no problem.<br><br>Also unixodbc documentation refers to ODBCConfig but this doesn't seem <br>to be on my system.<br><br>There are also references to the package unixodbc-gui-qt but apt-get <br>can't find it.<br><br>This is the program I'm trying to run:<br>#include &lt;stdio.h&gt;<br>#include &lt;sql.h&gt;<br>#include &lt;sqlext.h&gt;<br><br>main() {<br>   SQLHENV env;<br>   char driver[256];<br>   char attr[256];<br>   SQLSMALLINT driver_ret;<br>   SQLSMALLINT attr_ret;<br>   SQLUSMALLINT direction;<br>   SQLRETURN ret;<br><br>   SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &amp;env);<br>   SQLSetEnvAttr(env, SQL_ATTR_ODBC_VERSION, (void *) SQL_OV_ODBC3, 0);<br><br>   direction = SQL_FETCH_FIRST;<br>   while(SQL_SUCCEEDED(ret = SQLDrivers(env, direction,<br!
 >       
                driver, sizeof(driver), &amp;driver_ret,<br>                        attr, sizeof(attr), &amp;attr_ret))) {<br>     direction = SQL_FETCH_NEXT;<br>     printf("%s - %s\n", driver, attr);<br>     if (ret == SQL_SUCCESS_WITH_INFO) printf("\tdata truncation\n");<br>   }<br>}<br><br>It compiles but fails with<br>user@ubuntuvm:~/odbc$ make<br>Linking CXX executable odbctest<br>CMakeFiles/odbctest.dir/odbctest.cpp.o: In function `main':<br>/home/user/odbc/odbctest.cpp:14: undefined reference to `SQLAllocHandle'<br>/home/user/odbc/odbctest.cpp:15: undefined reference to `SQLSetEnvAttr'<br>/home/user/odbc/odbctest.cpp:18: undefined reference to `SQLDrivers'<br>collect2: error: ld returned 1 exit status<br>make[2]: *** [odbctest] Error 1<br>make[1]: *** [CMakeFiles/odbctest.dir/all] Error 2<br>make: *** [all] Error 2<br><br><br>---<br>This email has been checked for viruses by Avast antivirus software.<br><a
href="https://www.avast.com/antivirus">https://www.avast.com/antivirus</a><br><br><hr><br>unixODBC-support mailing list<br>unixODBC-support@mailman.unixodbc.org<br><a href="http://mailman.unixodbc.org/mailman/listinfo/unixodbc-support">http://mailman.unixodbc.org/mailman/listinfo/unixodbc-support</a><br></pre></blockquote></div></body></html>