您的位置:首页 > 其它

VC编译选项 Release MiniSize、Release MinDependecy的区别

2013-06-25 16:30 471 查看


VC编译选项 Release MiniSize、Release MinDependecy的区别!

VC编译选项 Release MiniSize、Release MinDependecy的区别!

Release MiniSize

Release MinDependecy

Unicoude Release MinSize

Unicoude Release MinDependency

之间有什么区别呀?都在什么情况下使用?编程的时候要注意些什么?

******************************************************************************************

若将“常规”属性页中的“ATL 的使用”属性设置为“静态链接到 ATL”,并将“代码生成”属性页中的“运行时库”属性设置为“单线程 (/ML)”或“多线程 (/MT)”(在 C/C++ 文件夹中),则为 MinDependency 配置。

若将“常规”属性页中的“ATL 的使用”属性设置为“动态链接到 ATL”,并将“在 ATL 中最小使用 CRT”设置为“是”,或将“代码生成”属性页中的“运行时库”属性设置为“多线程 DLL (/MD)”(在 C/C++ 文件夹中),则为 MinSize 配置。

MinSize 使得输出文件尽可能地小,但要求在目标计算机上安装 ATL71.dll 和 MSVCR71.dll(如果选中了“多线程 DLL (/MD)”选项)。ATL71.dll 应在目标计算机上注册,以确保具有所有 ATL 功能。要注意,ATL DLL 的 ANSI 和 Unicode 版本具有相同的名称:ATL71.dll。不能在 Windows 98 或 Windows Me 计算机上重新发布 Unicode 版本;必须用 ANSI 版本(位于产品 CD 或 DVD 的 Win\System\Ansi 文件夹中)。

如果为 MinDependency 目标生成 ATL 或 OLE DB 模板项目,则不需要在目标计算机上安装和注册 ATL71.dll,虽然可能获得较大的程序映像。

******************************************************************************************

我的工程在DEBUG中连接没有问题,可是设置为release mindependency确保错如下:

Generating Code...

Linking...

Creating library ReleaseMinDependency/RemoteUnlock.lib and object ReleaseMinDependency/RemoteUnlock.exp

LIBCMT.lib(crt0.obj) : error LNK2001: unresolved external symbol _main

ReleaseMinDependency/RemoteUnlock.dll : fatal error LNK1120: 1 unresolved externals

Error executing link.exe.

不知道什么问题,借用宝地请帮忙

你用了一些_ATL_MIN_CRT条件下,不支持的CRT函数,去掉_ATL_MIN_CRT
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: