非MFC工程,采用静态链接MFc时,出现无法解析的外部符号CoInitialize
2009-03-28 16:29
609 查看
在vs2005下开发出一个从wav到wma转换的demo(不是mfc程序)。这个demo中使用windows media format sdk 9.0进行从wav到wma 的转换。在我的开发环境中使用的很好,只是一移动到没有vs2005开发环境的平台上(windows xp),就出现提示“由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。”
从网上找了资料
在项目属性-〉配置属性-〉c/c++ -〉代码生成里,有一个运行时库,
.net 05 的默认选项是 多线程DLL,把他改成多线程即可。
后来我花了一些时间测试,发现也可以不用修改编译选项,只要将Program Files/Microsoft Visual Studio
8/VC/redist下相应平台的Microsoft.VC80.MFC.manifest和Microsoft.VC80.CRT.manifest
拷贝到应用程序目录即可。如果你还用到了atl库,则还要Microsoft.VC80.ATL.manifest。
总结:解决这个问题目前我所知道的有两种方法,
1,修改项目属性,静态链接mfc库(静态链接时,会自动修改上面提到的多线程DLL为多线程)。
2,带上Microsoft.VC80.MFC.manifest和Microsoft.VC80.CRT.manifest。
使用上面的方法1也就是静态链接mfc库,会出现编译错误:
error LNK2019: 无法解析的外部符号 __imp__CoInitialize@4,该符号在函数 _main 中被引用
因为不是MFC的工程,所以需要
include <afxwin.h> // MFC core and standard components
包含了afxwin.h文件后,世界终于安静了。
从网上找了资料
在项目属性-〉配置属性-〉c/c++ -〉代码生成里,有一个运行时库,
.net 05 的默认选项是 多线程DLL,把他改成多线程即可。
后来我花了一些时间测试,发现也可以不用修改编译选项,只要将Program Files/Microsoft Visual Studio
8/VC/redist下相应平台的Microsoft.VC80.MFC.manifest和Microsoft.VC80.CRT.manifest
拷贝到应用程序目录即可。如果你还用到了atl库,则还要Microsoft.VC80.ATL.manifest。
总结:解决这个问题目前我所知道的有两种方法,
1,修改项目属性,静态链接mfc库(静态链接时,会自动修改上面提到的多线程DLL为多线程)。
2,带上Microsoft.VC80.MFC.manifest和Microsoft.VC80.CRT.manifest。
使用上面的方法1也就是静态链接mfc库,会出现编译错误:
error LNK2019: 无法解析的外部符号 __imp__CoInitialize@4,该符号在函数 _main 中被引用
因为不是MFC的工程,所以需要
include <afxwin.h> // MFC core and standard components
包含了afxwin.h文件后,世界终于安静了。
相关文章推荐
- MFC采用MSComm控件通信时,出现error LNK2001:无法解析的外部符号问题的解决方法
- 链接时出现无法解析的外部符号排错
- 关于CMake生成包含PCL库和CGAL库的工程时出现“无法解析的外部符号”的错误
- APR lib 链接出现”error LNK2019: 无法解析的外部符号 __imp__apr_initialize“ 解决办法
- 关于vs2010 C++编译链接总是出现“LNK:2019 无法解析的外部符号”的问题
- 新建Duilib工程,加入示例代码时,出现error LNK2019: 无法解析的外部符号 "__declspec(dllimport)
- (在hello,MFC的创建过程中,新建项目时所配置的属性出现错误)error LNK2019: 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用 MSVCRTD.lib
- vs中C++工程加入c文件编译出现无法解析的外部符号
- 关于链接过程中出现的“找到一个或多个多重定义的符号”和“无法解析的外部符号”错误的探究
- 项目添加UNICODE支持时,出现链接错误error LNK2019: 无法解析的外部符号 _WinMain
- 在C++控制台项目中使用C工程代码时的注意,避免出现error LNK2019: 无法解析的外部符号
- SiftGPU:编译SiftGPU出现问题-无法解析的外部符号 glutInit
- lmdb编译过程中出现无法解析的外部符号 NtCreateSection
- lnk2001 & 2019 无法解析的外部符号(vs工程升级遇到的问题)
- 泛型模版类出现了LNK2019: 无法解析的外部符号错误
- C++出现无法解析的外部符号的几种情况
- [转]在vs2008上编译获取cpu代码出现的错误- error LNK2019: 无法解析的外部符号 _GetProcessMemoryInfo@12
- 出现error LNK2019: 无法解析的外部符号错误的诊断
- windows编程链接时遇到error LNK2001 无法解析的外部符号_imp_timeGetTime@0
- 关于我遇到的“LNK 2019无法解析的外部符号”的链接错误