VS2005下编译wince平台下的sqlite3源码出错启示

来源:互联网 发布:英语家教 知乎 编辑:程序博客网 时间:2024/05/16 15:53

    多日来,运行网上下载的sqlite3源代码,来自行编译生成sqlite3.dll时,在同事的PC上编译正常。自己的PC上始终有问题。

    错误提示:

 

   corelibc.lib(pegwmain.obj) : error LNK2019: unresolved external symbol _WinMain referenced in function _WinMainCRTStartup

 

 

   检查代码好多天了,没弄明白。在同事的提示下,上网搜,原来已有多位网友遇到过这个问题。

 

   网友提供的解决办法是:

 

 

可能的报错原因如下:

1) 可能是eVC3代码升级到eVC4中编译.

2) 或者创建工程时,没有选择正确的工程类型.

3)入口有问题.

 

解决办法:

Project --> Settings... -->Link --> Category选Output --> Entry-point symbol

            -->把WinMainCRTStartup改成wWinMainCRTStartup 或者 _DllMainCRTStartup

 

 

 

可是,我用的环境是VS2005,找了很久,也没找着上述的WinMainCRTStartup项,反复在项目->属性下查看,无意间,发现:

 

项目配置类型:设为“应用程序exe"了。将其改为:“动态库(.dll)"后,编译正常通过。如下图示:

 

Wince平台上编译sqlite3源码时出错纠正图示

 

 

   这个错误很愚蠢,我竟然只顾检查代码了。而且,还没检查仔细。特此谨记。也希望各位遇到类似的问题时,能少走弯路。