1

当我编译 pantheios 库时,出现以下错误:

错误 C2664:“xtests::c::xtests_startRunner”:无法将参数 1 从“const pan_char_t [25]”转换为“const char *”指向的类型不相关;转换需要 reinterpret_cast、C 样式转换或函数样式转换 NMAKE:致命错误 U1077:'"C:\Program Files (x86)\Microsoft Visual Studio 8\VC \BIN\cl.EXE"':返回代码 '0x2'停止。

知道它可能来自哪里吗?非常感谢,

4

3 回答 3

1

我认为该错误仅发生在“测试”部分,因此除此之外进行构建。

我正在使用 vs2010,Windows 7 32bit 并得到同样的错误。经过一番谷歌搜索,这是我发现的:

nmake build.libs

如果您查看 makefile,您会发现更多构建选项和详细信息。

谢谢,

杰克。

于 2013-07-10T00:24:23.957 回答
0

这是已知问题。你可以按照我的建议在本地修复它。或者等待下一个版本。

于 2013-06-20T20:01:37.433 回答
0

我在使用 Visual Studio 2008 命令提示符编译 pantheios-1.0.1-beta214 时遇到了同样的问题。

进一步补充 Jake 和 Sergey 的评论。该问题是由

pantheios-1.0.1-beta214\test\unit\test.unit.util.onbailout\test.unit.util.onbailout.cpp

if(XTESTS_START_RUNNER(PANTHEIOS_FE_PROCESS_IDENTITY, verbosity))

XTESTS_START_RUNNER 期望 'const char*' 作为第一个参数。PANTHEIOS_FE_PROCESS_IDENTITY 定义为 PAN_CHAR_T const

这会抛出“无法将参数 1 从 'const pan_char_t [25]' 转换为 'const char *'。

解决方法是修改传递给 XTESTS_START_RUNNER 的参数。

将“test.unit.util.gethostname.cpp”第 184 行更改为:

if(XTESTS_START_RUNNER("test.unit.util.onbailout", verbosity))

这类似于在 test.unit.util.gethostname.cpp 中所做的

运行“nmake build”重新编译。在此运行“nmake 测试”之后。如果您没有收到任何错误,则 pantheios 已准备好供您使用。

于 2015-05-26T10:20:41.353 回答