strmbasd.lib(wxdebug.obj) : error LNK2001: unresolved external symbol __imp__strrchr
2007-10-20 10:08
561 查看
使用VC++6编译DirectShow项目, 遇到这样的问题:
--------------------Configuration: testdx - Win32 Debug--------------------
Linking...
LINK : warning LNK4049: locally defined symbol "_sprintf" imported
strmbasd.lib(wxdebug.obj) : error LNK2001: unresolved external symbol __imp__strrchr
Debug/testdx.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
testdx.exe - 2 error(s), 1 warning(s)
经过检查, 在"progject setting"中的link->Object/Library modules中有"strmbasd.lib winmm.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ", 而在Tools->Options->Directories->Library files中为"D:/DXSDK/SAMPLES/C++/DIRECTSHOW/BASECLASSES/RELEASE", 在这个目录下只有"strbase.lib"文件, "strmbasd.lib"是Debug版本, 所以加入
"D:/DXSDK/SAMPLES/C++/DIRECTSHOW/BASECLASSES/DEBUG_UNICODE".
另外Library的排放顺序也有关系, 如果将其放在最后,
D:/DXSDK/SAMPLES/C++/DIRECTSHOW/BASECLASSES/RELEASE
D:/DXSDK/Lib
D:/Program Files/Microsoft Visual Studio/VC98/LIB
D:/Program Files/Microsoft Visual Studio/VC98/MFC/LIB
D:/DXSDK/SAMPLES/C++/DIRECTSHOW/BASECLASSES/DEBUG_UNICODE
编译就会出现如下的错误
Linking...
LINK : warning LNK4049: locally defined symbol "_sprintf" imported
strmbasd.lib(wxdebug.obj) : error LNK2001: unresolved external symbol __imp__strrchr
Debug/testdx.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
testdx.exe - 2 error(s), 1 warning(s)
将顺序改为
D:/DXSDK/SAMPLES/C++/DIRECTSHOW/BASECLASSES/RELEASE
D:/DXSDK/Lib
D:/DXSDK/SAMPLES/C++/DIRECTSHOW/BASECLASSES/DEBUG_UNICODE
D:/Program Files/Microsoft Visual Studio/VC98/LIB
D:/Program Files/Microsoft Visual Studio/VC98/MFC/LIB
编译就能正常通过.
--------------------Configuration: testdx - Win32 Debug--------------------
Linking...
LINK : warning LNK4049: locally defined symbol "_sprintf" imported
strmbasd.lib(wxdebug.obj) : error LNK2001: unresolved external symbol __imp__strrchr
Debug/testdx.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
testdx.exe - 2 error(s), 1 warning(s)
经过检查, 在"progject setting"中的link->Object/Library modules中有"strmbasd.lib winmm.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ", 而在Tools->Options->Directories->Library files中为"D:/DXSDK/SAMPLES/C++/DIRECTSHOW/BASECLASSES/RELEASE", 在这个目录下只有"strbase.lib"文件, "strmbasd.lib"是Debug版本, 所以加入
"D:/DXSDK/SAMPLES/C++/DIRECTSHOW/BASECLASSES/DEBUG_UNICODE".
另外Library的排放顺序也有关系, 如果将其放在最后,
D:/DXSDK/SAMPLES/C++/DIRECTSHOW/BASECLASSES/RELEASE
D:/DXSDK/Lib
D:/Program Files/Microsoft Visual Studio/VC98/LIB
D:/Program Files/Microsoft Visual Studio/VC98/MFC/LIB
D:/DXSDK/SAMPLES/C++/DIRECTSHOW/BASECLASSES/DEBUG_UNICODE
编译就会出现如下的错误
Linking...
LINK : warning LNK4049: locally defined symbol "_sprintf" imported
strmbasd.lib(wxdebug.obj) : error LNK2001: unresolved external symbol __imp__strrchr
Debug/testdx.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
testdx.exe - 2 error(s), 1 warning(s)
将顺序改为
D:/DXSDK/SAMPLES/C++/DIRECTSHOW/BASECLASSES/RELEASE
D:/DXSDK/Lib
D:/DXSDK/SAMPLES/C++/DIRECTSHOW/BASECLASSES/DEBUG_UNICODE
D:/Program Files/Microsoft Visual Studio/VC98/LIB
D:/Program Files/Microsoft Visual Studio/VC98/MFC/LIB
编译就能正常通过.
相关文章推荐
- DSHOW编译错误:strmbasd.lib(dllentry.obj) : error LNK2001: unresolved external symbol "class CFactoryTemplate * g_Templates" (?g_Templates@@3PAVCFactoryTemplate@@A)
- nafxcwd.lib(appcore.obj) : error LNK2001: unresolved external symbol ___argv
- LIBC.lib(convrtcp.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
- glaux.lib(tk.obj) : error LNK2001: unresolved external symbol __ftol2 问题解决
- msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16 wWinMainCRTStartup
- libcpmt.lib(cerr.obj) : error LNK2001: unresolved external symbol @__security_ch
- libcpmtd.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol __CrtDbgReport
- nafxcwd.lib(appcore.obj) : error LNK2001: unresolved external symbol ___argv
- vc中遇到错误提示:nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
- nafxcwd.lib(afxglobals.obj) : error LNK2001: unresolved external symbol _IID_IWICImagingFactory
- nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
- officeView.obj : error LNK2001: unresolved external symbol __imp__PathFileExistsA@4
- vc中遇到错误提示:nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
- VC 6.0 serverDlg.obj : error LNK2001: unresolved external symbol __imp__listen@8编译错误
- libcpmt.lib(cerr.obj) : error LNK2001: unresolved external symbol @__security_ch
- MSVCRTD.lib(wcrtexe.obj) : error LNK2001: unresolved external symbol wmain
- nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
- nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
- ntoskrnl.lib(loadcfg.obj) : error LNK2001: unresolved external symbol ___security_cookie
- vc中遇到错误提示:nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex