|
出现 "无法解析的外部符号" 这样的错误, 不知道是什么情况导致, 查了很多资料未能找到, 只能发帖求助了.
我的环境是 WIN7 + VS2010 + ACE6.1.6
1. config.h 内容如下:
#ifdef _UNICODE
#define ACE_HAS_WCHAR
#endif//_UNICODE
#define ACE_HAS_MFC 1
#include "ace/config-win32.h"
2. ACE 项目配置 为 "使用 Unicode 字符集"
3. 环境变量为
ACE_ROOT = D:\ACE_wrappers
PATH = %ACE_ROOT%\lib
4. 测试工程为 ACE包中的自带例子 "Log_Msg_Test_Callback"
1)项目配置 "字符集" 改为: "使用 Unicode 字符集"
2)在test_callback.cpp中添加一行宏定义如下:
#define ACE_USES_WCHAR
#include "ace/OS_main.h"
#include "ace/Log_Msg.h"
编译生成 ACE时成功, 编译Log_Msg_Test_Callback时, 出现"无法解析的外部符号"错误;
错误信息如下:
1>------ 已启动生成: 项目: Log_Msg_Test_Callback, 配置: Debug Win32 ------
1> test_callback.cpp
1>
1> 正在搜索库
1> 正在搜索 ..\..\lib\ACEd.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\iphlpapi.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\kernel32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\user32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\gdi32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\winspool.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\comdlg32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\advapi32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\shell32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\ole32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\oleaut32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\uuid.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\odbc32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\odbccp32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\lib\mfc100ud.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\lib\mfcs100ud.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\msvcrtd.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\msimg32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\comctl32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\shlwapi.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\windowscodecs.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\lib\atlsd.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\ws2_32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\mswsock.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\netapi32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\msvcprtd.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\OLDNAMES.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\wininet.lib:
1> 正在搜索 ..\..\lib\ACEd.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\iphlpapi.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\kernel32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\user32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\gdi32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\winspool.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\comdlg32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\advapi32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\shell32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\ole32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\oleaut32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\uuid.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\odbc32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\odbccp32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\lib\mfc100ud.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\lib\mfcs100ud.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\msvcrtd.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\msimg32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\comctl32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\shlwapi.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\windowscodecs.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\lib\atlsd.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\ws2_32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\mswsock.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\netapi32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\msvcprtd.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\OLDNAMES.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\wininet.lib:
1> 正在搜索 ..\..\lib\ACEd.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\iphlpapi.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\kernel32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\user32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\gdi32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\winspool.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\comdlg32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\advapi32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\shell32.lib:
1> 正在搜索 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\ole32.lib:
1>
1> 已完成库搜索
1>test_callback.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: int __thiscall ACE_Log_Record::format_msg(wchar_t const * const,unsigned long,wchar_t *)" (__imp_?format_msg@ACE_Log_Record@@QAEHQB_WKPA_W@Z),该符号在函数 "public: virtual void __thiscall Logger::log(class ACE_Log_Record &)" (?log@Logger@@UAEXAAVACE_Log_Record@@@Z) 中被引用
1>test_callback.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: wchar_t const * __thiscall ACE_Log_Msg::local_host(void)const " (__imp_?local_host@ACE_Log_Msg@@QBEPB_WXZ),该符号在函数 "public: virtual void __thiscall Logger::log(class ACE_Log_Record &)" (?log@Logger@@UAEXAAVACE_Log_Record@@@Z) 中被引用
1>test_callback.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: wchar_t const * __thiscall ACE_Log_Record::msg_data(void)const " (__imp_?msg_data@ACE_Log_Record@@QBEPB_WXZ),该符号在函数 "public: virtual void __thiscall Logger::log(class ACE_Log_Record &)" (?log@Logger@@UAEXAAVACE_Log_Record@@@Z) 中被引用
1>test_callback.obj : error LNK2019: 无法解析的外部符号 "__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),该符号在函数 _wmain 中被引用
1>.\test_callback.exe : fatal error LNK1120: 4 个无法解析的外部命令
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
|
|