(These may not be the best solutions, but they work for me.)

1. Create a DLL—use the linker option -shared to create a shared library ( *.so ).

2. Symbol not found at runtime—use linker option -uMyStaticSymbol when linking a share with static and other share libraries. This will ensure your static code is included in your target share library. LinuxODBC includes a small program called dltest which can help with this problem.

3. Libs and Symbols not found—make sure your libs can be found. Ready to give up? Put them into /usr/libs.

4. Manually loading DLLs—do a man on dlopen. Manually loading a DLL is easier than most people would think, but it is not usually a requirement.

5. ODBC system information—use the Odbcinst library to read/write ODBC system information from code or use ODBCConfig from your desktop. Try not to read/write the INI files directly, as the information may be stored elsewhere in the future.