如何从NVIDIA CG获得编译错误?

时间:2011-06-18 18:45:30

标签: compiler-errors nvidia cg

如何从cg编译中获取详细错误?

目前,我的代码类似于:

prog = cgCreateProgramFromFile(
    context,
    CG_SOURCE,
    filename,
    proifile,
    null,null);
std::cout << cgGetErrorString(cgGetError());

但我得到的是“编译返回错误。”

有没有办法获得更复杂的错误信息,例如glGetShaderiv和GL_COMPILE_STATUS用于opengl着色器?

在参考文献中找不到任何内容,但似乎是一个相当基本的要求。

我首先在着色器上运行cgc,没有代码生成来检查错误但是没有捕获所有内容。

感谢。

1 个答案:

答案 0 :(得分:2)

如果出现编译错误,则必须使用cgGetLastListing(CGcontext)而不是cgGetError(void)。

来自cgGetLastListing(CGcontext)的Cg文档:

  

每个Cg上下文维护一个   以NULL结尾的字符串包含   生成警告和错误消息   由Cg编译器,州经理和   类似。 cgGetLastListing允许   应用和自定义状态管理器   查询列表文本。

     

cgGetLastListing返回currrent   列出给定的字符串   CGContext上。当一个Cg运行时错误   发生,应用程序可以使用   列出相应的文本   上下文为用户提供   有关错误的详细信息。