gtest的MDD版本

来源:互联网 发布:长得漂亮知乎 编辑:程序博客网 时间:2024/06/05 17:39
前几天用了一个解码函数imencode,这个函数的codeGeneration好像要使用MDd,而google test 必须使用
MTd,这不就不可以兼容了吗?经常上网查证,原来MDx是函数加载动态库还是静态库的方式,起源恐怕要
追溯到crt.具体来说我现在也不是很清楚。别小看了这个错误,好多函数的delete和free会混合出现在这
两种情况的混编的工程中。delete和free的深入原理,我目前也不是很清楚,应该是调用的同一个释放函数。
要学习的地方很多。那么解决这个问题的思路也就清晰了:要么重编opencv库,要么重编gtest库。
我选择了后者。


gtest版本1.7.0 vs2008;
起初我使用的是vs2012,但是我发现会出现平台不符,当然报的错误也是一些难以捉摸的错误,我并没有捕捉
下来。简而言之可能1.7.0适合vs2010。我用的是2008提示升级,一步步来。最后分别编译四个工程,一定
要分别编译。而且打开的是gtest.sln,不要打开gtestmd.sln,我不知道后面这个有什么用,用到了再说吧


编译时codeGeneration选择MDd,当然这是debug下,release选择MD,一共会生成四个lib分别于debug和release
文件夹。
其实挺简单的,但是也看出了windows下编译环境直接移植的复杂和混乱。
0 0
原创粉丝点击