thomas.d...@gmail.com
unread,Apr 11, 2012, 11:09:16 AM4/11/12You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to
Hi everyone,
I'm new to DDK, sorry if my question is too simple to be posted here.
I'm writing a driver which simulates a device (AVStream Simulated Hardware Sample) from the WinDDK sample (located in WinDDK\7600.16385.1\src\AVStream\avshws).
I'm interested in just writing into a file for the moment.
I edited the "image.cpp" file :
Step 1 : adding headers
<code>
#include <fstream>
#include <iostream>
using namespace std;
</code>
At this point, everything is fine with compiling.
Step 2 : adding 1 line of code in a function
<code>
ofstream();
</code>
Here, the compiler cries:
Compiling - hwsim.cpp
Compiling - generating code...
Linking Executable - objchk_wxp_x86\i386\avshws.sys
1>errors in directory c:\projets_visual\facerecognitiondriver\facerecognitiondri
ver
1>c:\projets_visual\facerecognitiondriver\facerecognitiondriver\image.obj : erro
r LNK2019: unresolved external symbol "__declspec(dllimport) public: void __this
call std::basic_ofstream<char,struct std::char_traits<char> >::`vbase destructor
'(void)" (__imp_??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ) refere
nced in function "public: void __thiscall CImageSynthesizer::GenerateImage(void)
" (?GenerateImage@CImageSynthesizer@@QAEXXZ)
1>c:\projets_visual\facerecognitiondriver\facerecognitiondriver\image.obj : erro
r LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall
std::basic_ofstream<char,struct std::char_traits<char> >::basic_ofstream<char,st
ruct std::char_traits<char> >(void)" (__imp_??0?$basic_ofstream@DU?$char_traits@
D@std@@@std@@QAE@XZ) referenced in function "public: void __thiscall CImageSynth
esizer::GenerateImage(void)" (?GenerateImage@CImageSynthesizer@@QAEXXZ)
1>c:\projets_visual\facerecognitiondriver\facerecognitiondriver\objchk_wxp_x86\i
386\avshws.sys : error LNK1120: 2 unresolved externals
BUILD: Finish time: Wed Apr 11 16:48:23 2012
BUILD: Done
11 files compiled - 15 Warnings - 2,221 LPS
1 executable built - 3 Errors
I thought it was some include/library problem, so I edited the SOURCES files to include the ones I want to use in the future.
Note that due to spacing problems, I moved some headers and libraries :
C:\cpplibs\sdkw60alib corresponds to C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib
C:\cpplibs\vcatlmfclib corresponds to C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\lib
C:\cppinclude\vcinclude corresponds to C:\Program Files\Microsoft Visual Studio 9.0\VC\include
Here is my SOURCES file :
MAJORCOMP=ntos
USE_STL=1
STL_VER=70
USE_IOSTREAM=1
USE_NATIVE_EH=1
TARGETNAME=avshws
TARGETTYPE=DRIVER
TARGETLIBS=\
$(DDK_LIB_PATH)\ks.lib \
C:\OpenCV2.2\lib\opencv_core220.lib \
C:\OpenCV2.2\lib\opencv_core220d.lib \
C:\OpenCV2.2\lib\opencv_highgui220.lib \
C:\OpenCV2.2\lib\opencv_highgui220d.lib \
C:\OpenCV2.2\lib\opencv_contrib220.lib \
C:\OpenCV2.2\lib\opencv_contrib220d.lib \
C:\OpenCV2.2\lib\opencv_calib3d220.lib \
C:\OpenCV2.2\lib\opencv_features2d220.lib \
C:\OpenCV2.2\lib\opencv_ffmpeg220.lib \
C:\OpenCV2.2\lib\opencv_flann220.lib \
C:\OpenCV2.2\lib\opencv_gpu220.lib \
C:\OpenCV2.2\lib\opencv_imgproc220.lib \
C:\OpenCV2.2\lib\opencv_legacy220.lib \
C:\OpenCV2.2\lib\opencv_ml220.lib \
C:\OpenCV2.2\lib\opencv_objdetect220.lib \
C:\OpenCV2.2\lib\opencv_ts220.lib \
C:\OpenCV2.2\lib\opencv_video220.lib \
C:\OpenCV2.2\lib\opencv_calib3d220d.lib \
C:\OpenCV2.2\lib\opencv_features2d220d.lib \
C:\OpenCV2.2\lib\opencv_ffmpeg220d.lib \
C:\OpenCV2.2\lib\opencv_flann220d.lib \
C:\OpenCV2.2\lib\opencv_gpu220d.lib \
C:\OpenCV2.2\lib\opencv_imgproc220d.lib \
C:\OpenCV2.2\lib\opencv_legacy220d.lib \
C:\OpenCV2.2\lib\opencv_ml220d.lib \
C:\OpenCV2.2\lib\opencv_objdetect220d.lib \
C:\OpenCV2.2\lib\opencv_ts220.lib \
C:\OpenCV2.2\lib\opencv_video220d.lib \
C:\cpplibs\sdkw60alib\AclUI.lib \
C:\cpplibs\sdkw60alib\ActiveDS.lib \
C:\cpplibs\sdkw60alib\Ad1.lib \
C:\cpplibs\sdkw60alib\ADSIid.lib \
C:\cpplibs\sdkw60alib\AdvAPI32.lib \
C:\cpplibs\sdkw60alib\ahadmin.lib \
C:\cpplibs\sdkw60alib\amstrmid.lib \
C:\cpplibs\sdkw60alib\ASycFilt.lib \
C:\cpplibs\sdkw60alib\AuthZ.lib \
C:\cpplibs\sdkw60alib\avrt.lib \
C:\cpplibs\sdkw60alib\bcrypt.lib \
C:\cpplibs\sdkw60alib\bhsupp.lib \
C:\cpplibs\sdkw60alib\Bits.lib \
C:\cpplibs\sdkw60alib\bthprops.lib \
C:\cpplibs\sdkw60alib\Cabinet.lib \
C:\cpplibs\sdkw60alib\Cap.lib \
C:\cpplibs\sdkw60alib\certadm.lib \
C:\cpplibs\sdkw60alib\certidl.lib \
C:\cpplibs\sdkw60alib\CiUuid.lib \
C:\cpplibs\sdkw60alib\clfsmgmt.lib \
C:\cpplibs\sdkw60alib\clfsw32.lib \
C:\cpplibs\sdkw60alib\ClusApi.lib \
C:\cpplibs\sdkw60alib\ComCtl32.lib \
C:\cpplibs\sdkw60alib\ComDlg32.lib \
C:\cpplibs\sdkw60alib\ComSvcs.lib \
C:\cpplibs\sdkw60alib\corguids.lib \
C:\cpplibs\sdkw60alib\credui.lib \
C:\cpplibs\sdkw60alib\Crypt32.lib \
C:\cpplibs\sdkw60alib\CryptNet.lib \
C:\cpplibs\sdkw60alib\cryptui.lib \
C:\cpplibs\sdkw60alib\d3d10.lib \
C:\cpplibs\sdkw60alib\d3d8thk.lib \
C:\cpplibs\sdkw60alib\d3d9.lib \
C:\cpplibs\sdkw60alib\daouuid.lib \
C:\cpplibs\sdkw60alib\DbgEng.lib \
C:\cpplibs\sdkw60alib\DbgHelp.lib \
C:\cpplibs\sdkw60alib\dciman32.lib \
C:\cpplibs\sdkw60alib\ddao35.lib \
C:\cpplibs\sdkw60alib\ddao35d.lib \
C:\cpplibs\sdkw60alib\ddao35u.lib \
C:\cpplibs\sdkw60alib\ddao35ud.lib \
C:\cpplibs\sdkw60alib\DhcpCSvc.lib \
C:\cpplibs\sdkw60alib\dhcpcsvc6.lib \
C:\cpplibs\sdkw60alib\dhcpsapi.lib \
C:\cpplibs\sdkw60alib\dmoguids.lib \
C:\cpplibs\sdkw60alib\DnsAPI.lib \
C:\cpplibs\sdkw60alib\dpx.lib \
C:\cpplibs\sdkw60alib\DSProp.lib \
C:\cpplibs\sdkw60alib\DSUIExt.lib \
C:\cpplibs\sdkw60alib\DtcHelp.lib \
C:\cpplibs\sdkw60alib\dwmapi.lib \
C:\cpplibs\sdkw60alib\dxgi.lib \
C:\cpplibs\sdkw60alib\dxva2.lib \
C:\cpplibs\sdkw60alib\eappcfg.lib \
C:\cpplibs\sdkw60alib\eappprxy.lib \
C:\cpplibs\sdkw60alib\encapi.lib \
C:\cpplibs\sdkw60alib\esent.lib \
C:\cpplibs\sdkw60alib\evr.lib \
C:\cpplibs\sdkw60alib\FaultRep.lib \
C:\cpplibs\sdkw60alib\FCachDll.lib \
C:\cpplibs\sdkw60alib\Fci.lib \
C:\cpplibs\sdkw60alib\Fdi.lib \
C:\cpplibs\sdkw60alib\fileextd.lib \
C:\cpplibs\sdkw60alib\format.lib \
C:\cpplibs\sdkw60alib\FrameDyD.lib \
C:\cpplibs\sdkw60alib\FrameDyn.lib \
C:\cpplibs\sdkw60alib\fwpuclnt.lib \
C:\cpplibs\sdkw60alib\fxsutility.lib \
C:\cpplibs\sdkw60alib\Gdi32.lib \
C:\cpplibs\sdkw60alib\GdiPlus.lib \
C:\cpplibs\sdkw60alib\GlU32.lib \
C:\cpplibs\sdkw60alib\GPEdit.lib \
C:\cpplibs\sdkw60alib\gpmuuid.lib \
C:\cpplibs\sdkw60alib\HLink.lib \
C:\cpplibs\sdkw60alib\Htmlhelp.lib \
C:\cpplibs\sdkw60alib\httpapi.lib \
C:\cpplibs\sdkw60alib\Icm32.lib \
C:\cpplibs\sdkw60alib\Icmui.lib \
C:\cpplibs\sdkw60alib\iepmapi.lib \
C:\cpplibs\sdkw60alib\ImageHlp.lib \
C:\cpplibs\sdkw60alib\Imm32.lib \
C:\cpplibs\sdkw60alib\infocardapi.lib \
C:\cpplibs\sdkw60alib\IPHlpApi.lib \
C:\cpplibs\sdkw60alib\Iprop.lib \
C:\cpplibs\sdkw60alib\irprops.lib \
C:\cpplibs\sdkw60alib\iscsidsc.lib \
C:\cpplibs\sdkw60alib\Kernel32.lib \
C:\cpplibs\sdkw60alib\KSGuid.lib \
C:\cpplibs\sdkw60alib\KSProxy.lib \
C:\cpplibs\sdkw60alib\ksuser.lib \
C:\cpplibs\sdkw60alib\ktmw32.lib \
C:\cpplibs\sdkw60alib\LoadPerf.lib \
C:\cpplibs\sdkw60alib\Lz32.lib \
C:\cpplibs\sdkw60alib\magnification.lib \
C:\cpplibs\sdkw60alib\Mf.lib \
C:\cpplibs\sdkw60alib\Mfplat.lib \
C:\cpplibs\sdkw60alib\mfuuid.lib \
C:\cpplibs\sdkw60alib\MgmtAPI.lib \
C:\cpplibs\sdkw60alib\MiniDump.lib \
C:\cpplibs\sdkw60alib\MMC.lib \
C:\cpplibs\sdkw60alib\Mpr.lib \
C:\cpplibs\sdkw60alib\Mprapi.lib \
C:\cpplibs\sdkw60alib\MqOA.lib \
C:\cpplibs\sdkw60alib\MqRt.lib \
C:\cpplibs\sdkw60alib\MSAcm32.lib \
C:\cpplibs\sdkw60alib\Mscms.lib \
C:\cpplibs\sdkw60alib\mscoree.lib \
C:\cpplibs\sdkw60alib\mscorsn.lib \
C:\cpplibs\sdkw60alib\msctfmonitor.lib \
C:\cpplibs\sdkw60alib\msdasc.lib \
C:\cpplibs\sdkw60alib\msdelta.lib \
C:\cpplibs\sdkw60alib\msdmo.lib \
C:\cpplibs\sdkw60alib\msdrm.lib \
C:\cpplibs\sdkw60alib\Msi.lib \
C:\cpplibs\sdkw60alib\MSImg32.lib \
C:\cpplibs\sdkw60alib\MsPatchC.lib \
C:\cpplibs\sdkw60alib\MSRating.lib \
C:\cpplibs\sdkw60alib\MSTask.lib \
C:\cpplibs\sdkw60alib\MsWSock.lib \
C:\cpplibs\sdkw60alib\MsXml2.lib \
C:\cpplibs\sdkw60alib\msxml6.lib \
C:\cpplibs\sdkw60alib\Mtx.lib \
C:\cpplibs\sdkw60alib\mtxdm.lib \
C:\cpplibs\sdkw60alib\muiload.lib \
C:\cpplibs\sdkw60alib\ncrypt.lib \
C:\cpplibs\sdkw60alib\ndfapi.lib \
C:\cpplibs\sdkw60alib\ndproxystub.lib \
C:\cpplibs\sdkw60alib\NetAPI32.lib \
C:\cpplibs\sdkw60alib\NetSh.lib \
C:\cpplibs\sdkw60alib\newdev.lib \
C:\cpplibs\sdkw60alib\nmapi.lib \
C:\cpplibs\sdkw60alib\NMSupp.lib \
C:\cpplibs\sdkw60alib\normaliz.lib \
C:\cpplibs\sdkw60alib\NtDsAPI.lib \
C:\cpplibs\sdkw60alib\NTMSAPI.lib \
C:\cpplibs\sdkw60alib\NtQuery.lib \
C:\cpplibs\sdkw60alib\odbc32.lib \
C:\cpplibs\sdkw60alib\odbcbcp.lib \
C:\cpplibs\sdkw60alib\odbccp32.lib \
C:\cpplibs\sdkw60alib\Ole32.lib \
C:\cpplibs\sdkw60alib\OleAcc.lib \
C:\cpplibs\sdkw60alib\OleAut32.lib \
C:\cpplibs\sdkw60alib\oledb.lib \
C:\cpplibs\sdkw60alib\OleDlg.lib \
C:\cpplibs\sdkw60alib\OlePro32.lib \
C:\cpplibs\sdkw60alib\OpenGL32.lib \
C:\cpplibs\sdkw60alib\osptk.lib \
C:\cpplibs\sdkw60alib\p2p.lib \
C:\cpplibs\sdkw60alib\p2pgraph.lib \
C:\cpplibs\sdkw60alib\parser.lib \
C:\cpplibs\sdkw60alib\Pdh.lib \
C:\cpplibs\sdkw60alib\PEnter.lib \
C:\cpplibs\sdkw60alib\PhotoAcquireUID.lib \
C:\cpplibs\sdkw60alib\PortableDeviceGuids.lib \
C:\cpplibs\sdkw60alib\powrprof.lib \
C:\cpplibs\sdkw60alib\prntvpt.lib \
C:\cpplibs\sdkw60alib\propsys.lib \
C:\cpplibs\sdkw60alib\Psapi.lib \
C:\cpplibs\sdkw60alib\quartz.lib \
C:\cpplibs\sdkw60alib\qutil.lib \
C:\cpplibs\sdkw60alib\qwave.lib \
C:\cpplibs\sdkw60alib\RASAPI32.lib \
C:\cpplibs\sdkw60alib\RASDlg.lib \
C:\cpplibs\sdkw60alib\ResUtils.lib \
C:\cpplibs\sdkw60alib\RichEd20.lib \
C:\cpplibs\sdkw60alib\Rpcns4.lib \
C:\cpplibs\sdkw60alib\RpcRT4.lib \
C:\cpplibs\sdkw60alib\rstrtmgr.lib \
C:\cpplibs\sdkw60alib\Rtm.lib \
C:\cpplibs\sdkw60alib\Rtutils.lib \
C:\cpplibs\sdkw60alib\sapi.lib \
C:\cpplibs\sdkw60alib\SCardDlg.lib \
C:\cpplibs\sdkw60alib\ScrnSave.lib \
C:\cpplibs\sdkw60alib\ScrnSavW.lib \
C:\cpplibs\sdkw60alib\SearchSDK.lib \
C:\cpplibs\sdkw60alib\Secur32.lib \
C:\cpplibs\sdkw60alib\SensAPI.lib \
C:\cpplibs\sdkw60alib\SetupAPI.lib \
C:\cpplibs\sdkw60alib\Sfc.lib \
C:\cpplibs\sdkw60alib\shell32.lib \
C:\cpplibs\sdkw60alib\ShFolder.lib \
C:\cpplibs\sdkw60alib\ShLwApi.lib \
C:\cpplibs\sdkw60alib\sisbkup.lib \
C:\cpplibs\sdkw60alib\slc.lib \
C:\cpplibs\sdkw60alib\slcext.lib \
C:\cpplibs\sdkw60alib\slwga.lib \
C:\cpplibs\sdkw60alib\SnmpAPI.lib \
C:\cpplibs\sdkw60alib\SpOrder.lib \
C:\cpplibs\sdkw60alib\SrClient.lib \
C:\cpplibs\sdkw60alib\Sti.lib \
C:\cpplibs\sdkw60alib\strmiids.lib \
C:\cpplibs\sdkw60alib\strsafe.lib \
C:\cpplibs\sdkw60alib\structuredquery.lib \
C:\cpplibs\sdkw60alib\Svcguid.lib \
C:\cpplibs\sdkw60alib\Tapi32.lib \
C:\cpplibs\sdkw60alib\taskschd.lib \
C:\cpplibs\sdkw60alib\tbs.lib \
C:\cpplibs\sdkw60alib\tdh.lib \
C:\cpplibs\sdkw60alib\Thunk32.lib \
C:\cpplibs\sdkw60alib\Traffic.lib \
C:\cpplibs\sdkw60alib\TranscodeImageUID.lib \
C:\cpplibs\sdkw60alib\UIAutomationCore.lib \
C:\cpplibs\sdkw60alib\unicows.lib \
C:\cpplibs\sdkw60alib\Url.lib \
C:\cpplibs\sdkw60alib\Urlmon.lib \
C:\cpplibs\sdkw60alib\User32.lib \
C:\cpplibs\sdkw60alib\UserEnv.lib \
C:\cpplibs\sdkw60alib\USP10.lib \
C:\cpplibs\sdkw60alib\Uuid.lib \
C:\cpplibs\sdkw60alib\Uxtheme.lib \
C:\cpplibs\sdkw60alib\VdmDbg.lib \
C:\cpplibs\sdkw60alib\vds_uuid.lib \
C:\cpplibs\sdkw60alib\Version.lib \
C:\cpplibs\sdkw60alib\Vfw32.lib \
C:\cpplibs\sdkw60alib\vssapi.lib \
C:\cpplibs\sdkw60alib\vstorinterface.lib \
C:\cpplibs\sdkw60alib\WbemUuid.lib \
C:\cpplibs\sdkw60alib\wcmguid.lib \
C:\cpplibs\sdkw60alib\WdsClientApi.lib \
C:\cpplibs\sdkw60alib\wdspxe.lib \
C:\cpplibs\sdkw60alib\WebPost.lib \
C:\cpplibs\sdkw60alib\wecapi.lib \
C:\cpplibs\sdkw60alib\WER.lib \
C:\cpplibs\sdkw60alib\wevtapi.lib \
C:\cpplibs\sdkw60alib\WiaGuid.lib \
C:\cpplibs\sdkw60alib\windowscodecs.lib \
C:\cpplibs\sdkw60alib\WindowsSideShowGuids.lib \
C:\cpplibs\sdkw60alib\WinFax.lib \
C:\cpplibs\sdkw60alib\winhttp.lib \
C:\cpplibs\sdkw60alib\WinInet.lib \
C:\cpplibs\sdkw60alib\WinMM.lib \
C:\cpplibs\sdkw60alib\winsatapi.lib \
C:\cpplibs\sdkw60alib\WinSCard.lib \
C:\cpplibs\sdkw60alib\WinSpool.lib \
C:\cpplibs\sdkw60alib\WinStrm.lib \
C:\cpplibs\sdkw60alib\WinTrust.lib \
C:\cpplibs\sdkw60alib\wlanapi.lib \
C:\cpplibs\sdkw60alib\wlanui.lib \
C:\cpplibs\sdkw60alib\Wldap32.lib \
C:\cpplibs\sdkw60alib\wmcodecdspuuid.lib \
C:\cpplibs\sdkw60alib\wmdrmsdk.lib \
C:\cpplibs\sdkw60alib\wmiutils.lib \
C:\cpplibs\sdkw60alib\wmvcore.lib \
C:\cpplibs\sdkw60alib\Wow32.lib \
C:\cpplibs\sdkw60alib\WS2_32.lib \
C:\cpplibs\sdkw60alib\wscapi.lib \
C:\cpplibs\sdkw60alib\wsdapi.lib \
C:\cpplibs\sdkw60alib\WSnmp32.lib \
C:\cpplibs\sdkw60alib\WSock32.lib \
C:\cpplibs\sdkw60alib\Wst.lib \
C:\cpplibs\sdkw60alib\WtsApi32.lib \
C:\cpplibs\sdkw60alib\wuguid.lib \
C:\cpplibs\sdkw60alib\xaSwitch.lib \
C:\cpplibs\sdkw60alib\Xinput.lib \
C:\cpplibs\sdkw60alib\xmllite.lib \
C:\cpplibs\sdkw60alib\xoleHlp.lib \
C:\cpplibs\vcatlmfclib\Atl.lib \
C:\cpplibs\vcatlmfclib\atldload.lib \
C:\cpplibs\vcatlmfclib\atls.lib \
C:\cpplibs\vcatlmfclib\atlsd.lib \
C:\cpplibs\vcatlmfclib\mfc90.lib \
C:\cpplibs\vcatlmfclib\mfc90d.lib \
C:\cpplibs\vcatlmfclib\mfc90u.lib \
C:\cpplibs\vcatlmfclib\mfc90ud.lib \
C:\cpplibs\vcatlmfclib\mfcdload.lib \
C:\cpplibs\vcatlmfclib\mfcm90.lib \
C:\cpplibs\vcatlmfclib\mfcm90d.lib \
C:\cpplibs\vcatlmfclib\mfcm90u.lib \
C:\cpplibs\vcatlmfclib\mfcm90ud.lib \
C:\cpplibs\vcatlmfclib\mfcs90.lib \
C:\cpplibs\vcatlmfclib\mfcs90d.lib \
C:\cpplibs\vcatlmfclib\mfcs90u.lib \
C:\cpplibs\vcatlmfclib\mfcs90ud.lib \
C:\cpplibs\vcatlmfclib\nafxcw.lib \
C:\cpplibs\vcatlmfclib\nafxcwd.lib \
C:\cpplibs\vcatlmfclib\uafxcw.lib \
C:\cpplibs\vcatlmfclib\uafxcwd.lib \
INCLUDES=\
C:\OpenCV2.2\include; \
C:\OpenCV2.2\include\opencv; \
C:\OpenCV2.2\include\opencv2; \
C:\cppinclude\vcinclude; \
C:\WinDDK\7600.16385.1\inc\api\crt\stl70; \
C:\WinDDK\7600.16385.1\inc\crt; \
C:\WinDDK\7600.16385.1\inc\atl71; \
C:\WinDDK\7600.16385.1\inc\ddk; \
C:\WinDDK\7600.16385.1\inc\mfc42; \
$(DDK_INC_PATH);
DRIVERTYPE=WDM
MSC_WARNING_LEVEL=/W4
C_DEFINES=$(C_DEFINES) -DUNICODE -D_UNICODE -DDEBUG_LEVEL=DEBUGLVL_BLAB -D_WIN2K_COMPAT_SLIST_USAGE
LINKER_FLAGS =$(LINKER_FLAGS) -merge:PAGECONST=PAGE
SOURCES=\
$(TARGETNAME).rc \
device.cpp \
filter.cpp \
image.cpp \
capture.cpp \
hwsim.cpp \
purecall.c \
MISCFILES=\
avshws.inf
Any help would be VERY appreciated :)
Thanks in advance.
Thomas.