C++编译选项设置

附一个不错的链接http://support.microsoft.com/kb/154419/zh-cn

1,如果函数会被同项目内多个cpp引用时,一定记得加static,否则链接的时候会加多遍,链接出错,提示已加载

2,加载其他lib文件的路径需要在工具-》选项-》项目和解决方案-》VC++目录-》库文件中添加

3, vs 默认生成的 c++ unit testing程序是“安全 MSIL 公共语言运行时支持(/clr:safe)”,也就是只支持.net用法,需要在属性-》配置属性-》常规里将其改为“公共语言运行时支持(/clr)”。不然不能使用#include <stdio.h>等纯c++用法

4, 使用多个非标准的lib库时,一定要确保每个生成时的配置时一致的。!切忌,花了三四个小时才定位到这个问题呢

包括:版本是release/debug一致,项目属性->配置属性->c/c++->代码生成->基本运行时检查和运行库

比如本身程序配置为多线程DLL调试,一Lib为多线程调试,编译不会出错,运行时则可能出线msvcr90.dll找不到所以无法启动程序的错误

如果引用的两个lib中一个为多线程调试,一个为多线程DLL调试,则编译通不过,因为basic_string等类型,函数在不同的lib,obj重复定义。

你搜索第二个问题的时候很多文件会建议在项目属性->链接->输入->忽略特定库中忽略此lib但这种做法不推荐使用,当然有时候你确认这个lib对你的项目无影响时可以使用

C++编译选项设置

你可能感兴趣的:(C++,c,Microsoft,C#,vc++)