CMake编译的release版本库问题

FRanKwudd 2011-10-26 10:46:15
其实问题不出在库上
背景:有一个工程代码,自带编译系统(什么xml,perl,bat文件一大堆来完成编译的)。我的任务是用CMake来编译生成整个工程,编译出来动态静态库还要编译debug和release版本的,另外编译的时候可以加入ut选项最后生成.exe的测试程序来对相应的库进行测试。
问题:现在编译出来的库完全没有问题(用它自带的编译系统编出来的测试程序下测试CMake编出来的库正确通过),但是用我自己编出来的测试程序测试就会有一个错误,以下是测试程序输出的信息:
==================================
!!!FAILURES!!!
Test Results:
Run: 42940 Failures: 1 Errors: 0

1) test: C_WriteJFIFTest::compare_image_rst_gray_85_444 (F) line: 175 ..\..\..\..\..\..\..\..\..\..\..\temp\test\core\source\writejfiftest.cxx
assertion failed
- Expression: cb.is_equal(dst.c_str(), expect.c_str())
==================================

这个问题在winXP x64系统下vc8.0、9.0、10.0下的release版本才会出现。上网查了一下决定从编译选项入手,结果把优化选项开关关掉则问题消失,42940条测试全部通过。
还有经过一点一点的排错,是测试程序调用库生成了一张图片去和寄存的图片对比,结果大小出现偏差:
is1->size():177859
is2->size():178349
178349是寄存图片的大小,而177859则是在XP x86系统下测试生成图片的大小。

十分困扰,同样的代码同样的库,编出来的结果就不同,希望明白人指点一下!万分感谢

...全文
353 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
FRanKwudd 2011-10-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 schoolers 的回复:]

不明白 你说的什么
[/Quote]
我自己看到这样的贴我也会懵,毕竟用CMake的人不是那么多。但我也不知道我还能怎么阐述我遇到的问题了

相关源代码有几十个文件没发贴啊!再说我觉得这只是CMake编译工程的时候设置或者哪里遗漏了点什么,就希望熟悉CMake的高手指点指点CMake哪里容易出现问题,就当是探讨一下CMake技术。呵呵
某某9 2011-10-26
  • 打赏
  • 举报
回复
不明白 你说的什么
FRanKwudd 2011-10-26
  • 打赏
  • 举报
回复
自己顶一个,没有人对这个问题感兴趣么 呵呵

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧