X-Spam-Check-By: sourceware.org From: "Harold Mills" To: Subject: dll link error using Cygwin gcc Date: Tue, 12 Jun 2007 11:47:21 -0400 Message-ID: <000001c7ad08$f72b9280$e582b780$@mills@novaspeech.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook 12.0 Content-Language: en-us Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Hello, I'm trying to use Cygwin's gcc to link a small test program (Hello.c) against a commercial DLL (ibmeci.lib), the source code for which I don't have. I followed the instructions at www.cygwin.com/cygwin-ug-net/dll.html to try to build a Cygwin-compatible import library: echo EXPORTS > ibmeci.def nm ibmeci.lib | grep ' T _' | sed 's/.* T _//' >> ibmeci.def dlltool --def ibmeci.def --dllname ibmeci.lib --output-lib ibmeci.a but when I try: gcc -I../include Hello.c ibmeci.a I get the ld error message "undefined reference to '_eciSpeakText'". The Hello.c program calls a function 'eciSpeakText'. What can I do to fix this? Thank you, Harold Mills P.S. In case they might help, here are Hello.c and ibmeci.def: <<<< Hello.c>>>> #include int main(int argc, char *argv[]) { eciSpeakText("Hello, world!", 0); return 0; } <<<>>> EXPORTS eciActivateFilter AT 8 eciAddText AT 8 eciClearErrors AT 4 eciClearInput AT 4 eciCopyVoice AT 12 eciDeactivateFilter AT 8 eciDelete AT 4 eciDeleteDict AT 8 eciDeleteFilter AT 8 eciDictFindFirst AT 20 eciDictFindFirstA AT 24 eciDictFindNext AT 20 eciDictFindNextA AT 24 eciDictLookup AT 16 eciDictLookupA AT 24 eciErrorMessage AT 8 eciGeneratePhonemes AT 12 eciGetAvailableLanguages AT 8 eciGetDefaultParam AT 4 eciGetDict AT 4 eciGetFilteredText AT 16 eciGetIndex AT 4 eciGetParam AT 8 eciGetVoiceName AT 12 eciGetVoiceParam AT 12 eciInsertIndex AT 8 eciIsBeingReentered AT 4 eciLoadDict AT 16 eciNew AT 0 eciNewDict AT 4 eciNewEx AT 4 eciNewFilter AT 12 eciPause AT 8 eciProgStatus AT 4 eciRegisterCallback AT 12 eciRegisterVoice AT 16 eciReset AT 4 eciSaveDict AT 16 eciSetDefaultParam AT 8 eciSetDict AT 8 eciSetFilter AT 8 eciSetOutputBuffer AT 12 eciSetOutputDevice AT 8 eciSetOutputFilename AT 8 eciSetParam AT 12 eciSetVoiceName AT 12 eciSetVoiceParam AT 16 eciSpeakText AT 8 eciSpeakTextEx AT 12 eciSpeaking AT 4 eciStop AT 4 eciSynchronize AT 4 eciSynthesize AT 4 eciSynthesizeFile AT 8 eciTestPhrase AT 4 eciUnregisterVoice AT 16 eciUpdateDict AT 20 eciUpdateDictA AT 24 eciUpdateFilter AT 16 eciVersion AT 4 -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/