[ace-users] link fail on "ACE_Thread_Mutex.h"

Douglas C. Schmidt schmidt at dre.vanderbilt.edu
Mon Aug 6 07:32:07 CDT 2007


Hi,

> Yes, I am using visual studio 2005 on my windows.
> I can compile a simple network program based on ACE_SOCK_Stream and
> ACE_SOCK_COnnector, and so on. However, I cannot complie the same code
> including ACE_Thread_Manager or ACE_TSS template.

Please do the following:

. Upgrade to TAO 1.5.10, as per my instructions below.

. Try compiling/running the ACE_ROOT/tests, as per my instructions below.

Thanks,

Doug

> - jeong ho
> 
> On 8/6/07, Douglas C. Schmidt <schmidt at dre.vanderbilt.edu> wrote:
> >
> > Hi,
> >
> > Thanks for using the PRF.
> >
> > >    ACE VERSION: 5.5
> >
> > Please upgrade to ACE+TAO+CIAO x.5.10 (i.e., ACE 5.5.10, TAO 1.5.10, and
> > CIAO 0.5.10), which you can download from
> >
> > http://download.dre.vanderbilt.edu
> >
> > under the heading: "Latest Beta Kit".
> >
> > The DOC groups at Washington University, UC Irvine, and Vanderbilt
> > University only provide "best effort" support for non-sponsors for the
> > latest release, as described in
> >
> > http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/docs/ACE-bug-process.html
> >
> > Thus, if you need more "predictable" help for earlier versions of
> > ACE+TAO, I recommend that you check out
> >
> > http://www.dre.vanderbilt.edu/support.html
> >
> > for a list of companies that will provide you with ACE+TAO commercial
> > support.
> >
> > >    HOST MACHINE and OPERATING SYSTEM:
> > >        Host Machine: Intel Centrio Duo 2GHz meory 1.5GB
> > >        OS: Windows Professional SP2
> >
> > Which C++ compiler are you using on Windows?
> >
> > >    TARGET MACHINE and OPERATING SYSTEM: Same with Host Machine and OS
> > >
> > >    THE $ACE_ROOT/ace/config.h FILE
> > >
> > >         #define ACE_HAS_STANDARD_CPP_LIBRARY 1
> > >         #define ACE_HAS_MFC 1
> > >         #define ACE_NO_INLINE
> > >         #include "ace/config-win32.h"
> > >
> > >    AREA/CLASS/EXAMPLE AFFECTED:
> > >        ACE_TSS/ACE_Thread_Mutex
> > >
> > >    DOES THE PROBLEM AFFECT:
> > >        LINKING
> > >
> > >    SYNOPSIS:
> > >       linking error is occurred in the compile time
> > >
> > > error LNK2019: unresolved external simbol "__declspec(dllimport)
> > > public: __thiscall ACE_Thread_Mutex::ACE_Thread_Mutex(wchar_t const
> > > *,struct ACE_mutexattr_t *)"
> > > (__imp_??0ACE_Thread_Mutex@@QAE at PB_WPAUACE_mutexattr_t@@@Z) in
> > > (reference position: "public: __thiscall
> > > ACE_TSS<int>::ACE_TSS<int>(int *)" (??0?$ACE_TSS at H@@QAE at PAH@Z)
> > > function)
> > >
> > >
> > >    DESCRIPTION:
> > >      I am writting a thread-based application using ACE_TSS. However,
> > > I cannot compile my test code because of link failure. My test code is
> > > as follows:
> > >
> > > #include "stdafx.h"
> > > #include "ace/init_ACE.h"
> > > #include "ace/TSS_T.h"
> > > #include "ace/SOCK_Stream.h"
> > >
> > > using namespace std;
> > >
> > > ACE_Thread_Mutex m;
> > >
> > > int main(void)
> > > {
> > >       ACE::init();
> > >       ACE_SOCK_Stream sock;
> > >
> > >
> > >       ACE_TSS<int> tss;
> > >       ACE::fini();
> > >       return 0;
> > > }
> > >
> > > I do not think it is caused by the compiler missconfiguration. If I
> > > comment out the like "ACE_TSS<int> tss," it works. Please give me any
> > > clue to solve my problem.
> >
> > Please see
> >
> > ACE_ROOT/tests/TSS_Test.cpp
> >
> > for an example of how to use ACE_TSS.  Make sure this compiles/runs
> > properly on your platform first and then use it as a model for writing
> > your code.
> >
> > Thanks,
> >
> >         Doug
> >
> >
> 
> _______________________________________________
> ace-users mailing list
> ace-users at mail.cse.wustl.edu
> http://mail.cse.wustl.edu/mailman/listinfo/ace-users



More information about the Ace-users mailing list