This is the mail archive of the
mailing list for the pthreas-win32 project.
RE: Problem linking in pthread librarry.... (Newbie)
- From: Kok YihTzye-CYK011 <yihtzye dot kok at motorola dot com>
- To: "'Srdjan'" <srdjan at jsn dot aust dot com>, pthreads-win32 at sources dot redhat dot com
- Date: Thu, 8 Jan 2004 21:50:13 +0800
- Subject: RE: Problem linking in pthread librarry.... (Newbie)
I am facing the same problem as well. I am very interested to know the answer.
From: email@example.com [mailto:firstname.lastname@example.org] On Behalf Of Srdjan
Sent: Thursday, January 08, 2004 8:31 PM
Subject: Problem linking in pthread librarry.... (Newbie)
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
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.