From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31257 invoked by alias); 8 Jan 2004 14:34:24 -0000 Mailing-List: contact pthreads-win32-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: pthreads-win32-owner@sources.redhat.com Received: (qmail 31249 invoked from network); 8 Jan 2004 14:34:23 -0000 Received: from unknown (HELO mtaw4.prodigy.net) (64.164.98.52) by sources.redhat.com with SMTP; 8 Jan 2004 14:34:23 -0000 Received: from hume.com (adsl-65-67-62-169.dsl.austtx.swbell.net [65.67.62.169]) by mtaw4.prodigy.net (8.12.10/8.12.10) with ESMTP id i08EYISP017543; Thu, 8 Jan 2004 06:34:20 -0800 (PST) Message-ID: <3FFD6A6A.3030405@hume.com> Date: Thu, 08 Jan 2004 14:34:00 -0000 From: Ed Hume User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax) MIME-Version: 1.0 To: Srdjan , pthreads-win32@sources.redhat.com Subject: Re: Problem linking in pthread librarry.... (Newbie) References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2004/txt/msg00004.txt.bz2 I believe the __imp__ prefix comes from the functions being declared as DLL imported/exported symbols. So I think you need to go review the header files, and fix up some macros in your makefile so that the __declspec(dllexport) macros are not used. (For example, have your definition of PTW_EXTERN) Srdjan wrote: >Hi, > >After reading all the readme's and FAQs I still have a bit of a problem >linking with pthread for win32. Somebody might have already solved it... > >Here is the problem.... > >I am porting a small daemon program from linux to win32 (... yes, I >know...). Anyway, becasue this little beast is supposed to be used on >systems that I am unable to install the pthread.dll, I am trying to build a >static pthread library and link it in with my code. > >I have fudged building process using VC7.1 (.NET) so it does build a .lib >file, however, when I try linking with my code, I get the following link >problems: > >============================================================================ >============= >fdca.obj : error LNK2019: unresolved external symbol __imp__pthread_join >referenced in function _main >fdca.obj : error LNK2019: unresolved external symbol __imp__pthread_create >referenced in function _main >fdca_schedule.obj : error LNK2001: unresolved external symbol >__imp__pthread_create >fdca_collect.obj : error LNK2019: unresolved external symbol >__imp__pthread_exit referenced in function _fdca_collect >fdca_command.obj : error LNK2019: unresolved external symbol >__imp__pthread_exit referenced in function _fdca_command >fdca_schedule.obj : error LNK2001: unresolved external symbol >__imp__pthread_exit >ds.lib(ds.obj) : error LNK2019: unresolved external symbol >__imp__pthread_mutex_init referenced in function _ds_list_init >ds.lib(ds.obj) : error LNK2019: unresolved external symbol >__imp__pthread_mutex_unlock referenced in function _ds_list_insert >ds.lib(ds.obj) : error LNK2019: unresolved external symbol >__imp__pthread_mutex_lock referenced in function _ds_list_insert >.\/winagent.exe : fatal error LNK1120: 7 unresolved externals >============================================================================ >============= > >Now, I am sure I have stuffed up something, but I can't figure out what >(obvious conclusion :-). My code seems to generate '__imp__function_name' >instead of '_function_name'. I have a number of other external static >libraries I am linking with, but they all seem to be linking in happily. > >The Makefile with nmake builds only a DLL version, and I am trying at the >moment to get it to build a static lib too, but with not much success. > >I would be ethernally grateful if somebody was able to quickly identify what >I am doing wrong. > >Cheers, > >Srdjan >Melbourne > > > > -- Regards, Ed Hume Hume Integration Software http://www.hume.com/