想使用mfc做个数据库管理软件,在插入ATL模板类之后编译完,就产生了以下错误:
c:\program files\microsoft visual studio\vc98\atl\include\atldbcli.h(76) : error C2065: 'DBFILETIME' : undeclared identifier
c:\program files\microsoft visual studio\vc98\atl\include\atldbcli.h(76) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\atl\include\atldbcli.h(76) : error C2143: syntax error : missing ';' before '{'
c:\program files\microsoft visual studio\vc98\atl\include\atldbcli.h(76) : error C2447: missing function header (old-style formal list?)
Error executing cl.exe.
上网搜了一下,都不能解决,望高手不吝赐教。
c:\program files\microsoft visual studio\vc98\atl\include\atldbcli.h(76) : error C2065: 'DBFILETIME' : undeclared identifier
c:\program files\microsoft visual studio\vc98\atl\include\atldbcli.h(76) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\atl\include\atldbcli.h(76) : error C2143: syntax error : missing ';' before '{'
c:\program files\microsoft visual studio\vc98\atl\include\atldbcli.h(76) : error C2447: missing function header (old-style formal list?)
Error executing cl.exe.
上网搜了一下,都不能解决,望高手不吝赐教。
而ole db代码(你说的模板类)是装了VC6 sp以后的代码。解决方法: 安装vc6 sp6 即可。
老版本的OLE DB中定义的,在新版本中已经改为FILETIME。可能你装的不是真正的sp6,而是假的版本吧。我的机器上是VC6SP6 c:\program files\microsoft visual studio\vc98\atl\include\atldbcli.h
中第74-76行的内容如下:74 DEFINE_OLEDB_TYPE_FUNCTION(DBTIMESTAMP ,DBTYPE_DBTIMESTAMP)
75 DEFINE_OLEDB_TYPE_FUNCTION(FILETIME ,DBTYPE_FILETIME)
76 DEFINE_OLEDB_TYPE_FUNCTION(PROPVARIANT ,DBTYPE_PROPVARIANT)如果你跟这个不一样,就说明不是真的sp6。