我按OutputDebugString()
输出日志/警告/错误消息,因此它们在Visual Studio的“输出”窗口中可读。
我想将这些消息作为链接。单击后,它们将打开预定义的源文件并将光标放在预定义的行上,就像编译错误一样。
我该怎么做?
答案 0 :(得分:3)
以特殊方式格式化输出字符串:
file_path(line): message
其中file_path
是要通过点击打开的文件的完整绝对路径,line
是要放置的行号游标,而“消息”是其他任何内容。
当您双击它并打开文件时,Visual Studio会解析此类字符串。
C ++和boost::format
的示例:
#include <windows.h>
#include <boost/format.hpp>
#include <string>
int main()
{
std::string errMsg = "Yay! Fancy link!";
std::string formatted =(boost::format("%s(%i): in function \"%s\": %s\n\n")
% __FILE__ % __LINE__ % __FUNCTION__ % errMsg ).str();
OutputDebugStringA(formatted.c_str());
}