|
新建了一个MFC,将example中的代码拷贝到相应的文件中,同时设定好工程属性。编译成功,但是调试的时候出现了问题,“读取位置时发生冲突。”
问题出现在
void cOSG::InitOSG(std::string modelname) ///修改
{
// Store the name of the model to load
m_ModelName = modelname;
// Init different parts of OSG
InitManipulators();
InitSceneGraph();
InitCameraConfig();
}这个函数中,InitManipulators();主要是这个函数。
难道是因为在下面这个函数中CString转换为std::string的问题吗?我这边参照了example的设定将工程属性设定为“使用多字节的字符集”,原先使用Unicode字符集会出现编译错误。
void CMFCView::OnInitialUpdate()
{
CView::OnInitialUpdate();
// Get Filename from DocumentOpen Dialog
CString csFileName =(GetDocument()->GetFileName());
// Init the osg class
mOSG->InitOSG(csFileName.GetString());
// Start the thread to do OSG Rendering
mThreadHandle = (HANDLE)_beginthread(&cOSG::Render, 0, mOSG);
}有人能告诉我原因吗? |
|