依赖 64 位 itk-framework 的单元测试 dll

unit-testing dll relying on 64-bit itk-framework

我正在尝试设置一个 "Native Unit Test Project" (Visual C++),它正在测试一个基于 ITK 框架的 DLL 项目。我可能想要模拟 ITK 实现,但首先我只想进行一个依赖于实际库的函数调用。在 x64 上一切都是 运行ning,只是我似乎无法在 x64 上构建单元测试项目,配置管理器只允许 win32。我设置了测试>测试设置>默认处理器架构>x64,但这似乎没有帮助。编译时我得到:

...itk-4.8.1\x64\debug\include\itk-4.8\itkmathdetail.h(286): error C3861: '_mm_cvtsd_si64': identifier not found

当我查看项目>属性>配置属性>VC++ 目录时,它到处都是“...x86”,而在项目中我试图测试它说“ ....x64".

请问我怎样才能让它工作?还是我在执行不可能完成的任务???

更新:

我现在设法 运行 使用 x64 设置的项目。在这种情况下,我遇到的麻烦是 unittest 框架在 win32 上只有 运行s,因此:

error C1083: Cannot open include file: 'CppUnitTest.h': No such file or directory

所以...在编译时我可以选择是我的库不编译(win32 模式)还是单元测试框架不编译(x64 模式)。提醒:在 win32 模式下编译并将 test 设置为 "default processor architecture = x64" 也不起作用,仍然会出现前面所述的编译错误。在这方面,我尝试使用 运行 设置文件,但没有任何区别。

好的。我发现哪里出了问题。首先,所有的东西都必须在 x64 中编译,单元测试项目也是如此。如果您确保按照这些步骤设置 x64 项目

https://msdn.microsoft.com/en-us/library/9yb4317s.aspx

那么你就没有麻烦了。但是,您需要确保复制 win32 设置并且不要勾选 "Create new solution platforms".