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下编译环境直接移植的复杂和混乱。
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
- gtest的MDD版本
- acm-mdd的烦恼
- 333 mdd的烦恼
- mdd的烦恼
- 开心的mdd
- mdd的烦恼
- mdd的烦恼
- NYOJ 333 mdd的烦恼
- NYOJ - 开心的mdd (DP)
- nyoj 333-mdd的烦恼
- nyoj 333 mdd的烦恼
- NYOJ 536 开心的mdd
- NYOJ----333mdd的烦恼
- libcef_dll_wrapper /MD /MDd的编译
- Qt在pro中设置运行时库MT、MTd、MD、MDd,只适合VS版本的Qt
- Qt在pro中设置运行时库MT、MTd、MD、MDd,只适合VS版本的Qt
- gtest的使用 (android)
- gtest的断言
- Android ViewStub的应用
- 将日期按照一定的格式转化
- AFNetWorking怎么用(一)
- Hibernate复习专题
- 细节之用%.占位
- gtest的MDD版本
- 理解预编译头
- Java AES算法和openssl配对
- JS鼠标事件
- [JavaSE]杨辉三角
- linux系统下(x86_64)安装jdk 1.6(jdk-6u45-linux-x64.bin)
- 我也许不完美,但我一直在做自己。
- SQL中char、varchar、nvarchar的区别
- SNMP的OID小集