用到ACE,编译连接没有什么问题,但结果显示“无法定位程序输入点??0ACE_Reactor@@QAE@PAVACE_Impl@@H@Z于动态连接库ACEd.dll上”,请问该如何解决。 

解决方案 »

  1.   

    你用哪个版本的编译器?下面的代码用VC++2010编译运行没有问题。
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
    //// D:\onega>cl -DWIN32=0x0501 -D_DEBUG -ID:\src\ace601\ACE_wrappers /EHsc /MDd  ace1.cpp /link /VERBOSE:LIB -Libpath:D:\src\ace601\ACE_wrappers\lib aced.lib
    #include< ace/Task.h >
    #include <signal.h> 
    #include "ace/Reactor.h" 
    #include "ace/Event_Handler.h"class MyEventHandler: public ACE_Event_Handler{ 
    int handle_signal(int signum, siginfo_t*,ucontext_t*){ 
    ACE_DEBUG((LM_DEBUG, "%s signal %d \n", __FUNCTION__, signum)); 
     switch(signum){ 
      case SIGINT: 
       ACE_DEBUG((LM_DEBUG, "%s You pressed Ctrl+C \n", __FUNCTION__)); 
       return -1;
       break; 
       } 
     return 0; 
     } 
    };int main(int argc, char *argv[]){ 
    ACE_DEBUG((LM_DEBUG, "%s press Ctrl+C to test SIGINT.\n", __FUNCTION__)); 
     MyEventHandler *eh =new MyEventHandler;
      ACE_Reactor::instance()->register_handler(SIGINT,eh); 
     while(1) 
      {
      ACE_Reactor::instance()->handle_events(); 
      }
      ACE_DEBUG((LM_DEBUG, "%s exits \n", __FUNCTION__)); 
      return 0;
    }