• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Focus on ACE

            訂閱 ace-china
            電子郵件:
            瀏覽存于 groups.google.com 上的所有帖子

            C++博客 首頁 新隨筆 聯系 聚合 管理
              64 Posts :: 3 Stories :: 22 Comments :: 0 Trackbacks

            ACE應用程序鏈接錯誤? error LNK2019 的解決辦法
            ?

            讀者水平:初級
            摘要:文本簡要指出如何正確編譯和鏈接ACE應用程序。

            對于新手來說,ACE開發環境,會是一團謎團,如何正確配置開發者機器,快速體驗ACE,
            就是本系列文章的目的。本文僅解決如何解決LNK2019錯誤

            環境:
            ??

            ???ACE版本?5.5.1
            ?????操作系統?Windows?xp?professional?sp2
            ?????開發環境?Microsoft?Visual?C++?2005???77626-009-0000007-41235



            下面的代碼是服務的主程序

            // @file:?RegisterServer.cpp?:
            // @description:?Defines?the?entry?point?for?the?GameService?Daemon?application.
            // @date:?2006-07-06
            // @author:?Jiangtao<2005119@gmail.com>
            #ifdef?_DEBUG
            #define ???ACE_NDEBUG?0
            #define ???ACE_NTRACE?0
            #endif
            #include?
            " stdafx.h "
            #include?
            " ACE/Filecache.h "
            #include?
            " ACE/Log_Msg.h "
            #include?
            " ACE/OS_NS_signal.h "
            #include?
            " ACE/Service_Config.h "

            #ifdef?ACE_HAS_SIG_C_FUNC
            #pragma?message?(
            " ACE_HAS_SIG_C_FUNC " )
            extern ? " C "
            {
            #endif ?/*?ACE_HAS_SIG_C_FUNC?*/

            ?
            // ?call?exit()?so?that?static?destructors?get?called
            ? static ? void
            ??handler?(
            int )
            ?{
            ??delete?(ACE_Filecache?
            * )?ACE_Filecache::instance?();
            ??ACE_OS::exit?(
            0 );
            ?}

            #ifdef?ACE_HAS_SIG_C_FUNC
            }
            #endif ?/*?ACE_HAS_SIG_C_FUNC?*/

            int ?ACE_TMAIN( int ?argc,?ACE_TCHAR * ?argv[])
            {
            ?ACE_DEBUG((LM_INFO,ACE_TEXT(
            " 啟動服務\n " )));
            ?ACE_Service_Config?daemon;

            ?ACE_OS::signal?(SIGCHLD,?SIG_IGN);

            ?
            // ?SigAction?not?needed?since?the?handler?will?shutdown?the?server.
            ?ACE_OS::signal?(SIGINT,?(ACE_SignalHandler)?handler);
            ?ACE_OS::signal?(SIGUSR2,?(ACE_SignalHandler)?handler);

            ?
            if ?(daemon.open?(argc,?argv,?ACE_DEFAULT_LOGGER_KEY,? 0 )? != ? 0 )
            ??ACE_ERROR_RETURN?((LM_ERROR,?
            " %p\n " ,? " open " ),? 1 );

            ?
            // ?The?configured?service?creates?threads,?and?the
            ?
            // ?server?won't?exit?until?the?threads?die.

            ?
            // ?Run?forever,?performing?the?configured?services?until?we?receive
            ?
            // ?a?SIGINT.

            ?
            return ? 0 ;
            }

            服務加載的配置文件

            ?


            ###############################################################################
            #?file?svc.conf
            ###############################################################################

            dynamic?GameService?Service_Object?
            * ?GameService:?_make_GameServer_T()?active?

            ?


            出錯提示:

            ?

            -----?Build?started:?Project:?RegisterServer,?Configuration:?Debug?Win32?------
            Compiling
            RegisterServer.cpp
            Linking
            RegisterServer.obj?:?error?LNK2019:?unresolved?external?symbol?"__declspec(dllimport)?int?__cdecl?ace_os_wmain_i(class?ACE_Main_Base?&,int,wchar_t?*?*?const)"?(__imp_?ace_os_wmain_i@@YAHAAVACE_Main_Base@@HQAPA_W@Z)?referenced?in?function?_wmain
            RegisterServer.obj?:?error?LNK2019:?unresolved?external?symbol?"__declspec(dllimport)?public:?static?int?__cdecl?ACE_Service_Config::open(int,wchar_t?*?*?const,wchar_t?const?*,int,int,int)"?(__imp_?open@ACE_Service_Config@@SAHHQAPA_WPB_WHHH@Z)?referenced?in?function?"int?__cdecl?ace_wmain_i(int,wchar_t?*?*?const)"?(?ace_wmain_i@@YAHHQAPA_W@Z)
            D:\ACE_OUTPUT\Game\\RegisterServerd.exe?:?fatal?error?LNK1120:?2?unresolved?externals
            Build?log?was?saved?at?"file://d:\My?Sources\RegisterService\RegisterServer\Debug\BuildLog.htm"
            RegisterServer?-?3?error(s),?0?warning(s)
            ==========?Build:?0?succeeded,?1?failed,?1?up-to-date,?0?skipped?==========

            ?

            問題分析
            出錯信息顯示,不能解析函數ace_os_wmain_i()以及? ACE_Service_Config::open()。
            從這里可以看出,鏈接器需要UNICODE版本的ace庫,而我們在生成ACE的時候,并沒有生成寬字符
            的UNICODE版本。

            解決辦法:
            打開項目的屬性頁,找到配置屬性,在字符集中,選擇多字節字符集。再重新編譯,問題解決。

            ?

            ?

            posted on 2006-07-09 12:53 Stone Jiang 閱讀(1864) 評論(0)  編輯 收藏 引用 所屬分類: ACE
            精品久久久久久无码专区不卡| 91久久香蕉国产熟女线看| 国产成人久久777777| 久久精品国产亚洲AV忘忧草18 | 久久国产精品免费一区二区三区| 精品久久久中文字幕人妻| 久久精品国产亚洲AV香蕉| 国产精品久久久天天影视| 亚洲精品乱码久久久久久久久久久久 | 亚洲精品NV久久久久久久久久| 99久久超碰中文字幕伊人| 久久国产热这里只有精品| 久久91亚洲人成电影网站| 久久ww精品w免费人成| 囯产极品美女高潮无套久久久| 欧美久久亚洲精品| 国产免费久久精品丫丫| 精品久久亚洲中文无码| 久久综合一区二区无码| 久久亚洲2019中文字幕| 国产精品久久影院| 色综合久久无码中文字幕| 日本高清无卡码一区二区久久| 久久AV高清无码| 久久久久亚洲AV无码麻豆| 久久久久久精品无码人妻| 欧美精品福利视频一区二区三区久久久精品 | 日韩精品久久久久久久电影蜜臀| 一级做a爰片久久毛片毛片 | 欧美日韩中文字幕久久久不卡| 91视频国产91久久久| 色婷婷久久综合中文久久蜜桃av| 亚洲国产香蕉人人爽成AV片久久 | 精品人妻伦九区久久AAA片69| 久久久噜噜噜久久熟女AA片| 久久精品国产亚洲AV不卡| 亚洲婷婷国产精品电影人久久| 久久久久国产精品麻豆AR影院| 国产成人无码精品久久久免费 | 久久精品一区二区| 伊人久久综合热线大杳蕉下载|