From: Andrew P. <at...@pi...> - 2014-10-01 19:12:42
|
On Wed, Sep 17, 2014 at 06:50:08PM -0400, Andrew Piskorski wrote: > include/ns.h has this: > > #define NS_EXTERN extern NS_EXPORT > > But I believe that is NOT relevent here because master.c, thread.h, > and nsthread.h (correctly) do NOT include ns.h. > > Instead, I think it is the separate definition of NS_EXTERN in > nsthread.h that matters when building nsthread. Gustaf, on 9/27 you changed nsthread/reentrant.c to import ns.h. It never did that before, and now it imports ns.h before thread.h and nsthread.h. It looks like you did that in order to call Ns_Log in reentrant.c. However, I suspect that ALSO changed the definition of NS_EXTERN to the one in ns.h rather than nsthread.h. Was that an unintentional? Defining NS_EXTERN in two separate places like that is kind of confusing. Can/should we merge them into one somehow? I bring this up because after merging all your latest changes into my fork, the nsthread Windows build (which worked before) now fails like this: Creating library nsthread.lib and object nsthread.exp reentrant.o : error LNK2019: unresolved external symbol Ns_Log referenced in function ns_asctime nsthread.dll : fatal error LNK1120: 1 unresolved externals changeset: 2884:950a8cebabb8 user: Gustaf Neumann <ne...@wu...> date: Sat Sep 27 22:17:55 2014 +0200 files: include/nsthread.h nsd/exec.c nsthread/reentrant.c description: - setting WINVERSION to Vista to allow usage of InetNtop() - make code more robust against previous defines - use the right pid_t type for win - add shutdown flags - use *_s function in win-specific reentrant code -- Andrew Piskorski <at...@pi...> |