Я отказался от создания графического интерфейса непосредственно из Windows API, поэтому я собираюсь использовать формы. Я хотел бы многопоточность моего приложения и обернуть графический интерфейс в класс и поместить его в отдельный поток. Когда я нажимаю кнопку и т. Д., Это изменяет значение в структуре, которая будет считываться из основного потока. Моя проблема в том, что при компиляции приложения я получаю сообщение об ошибке с компоновщиком.
1>Core.obj : error LNK2022: metadata operation failed (8013119F) : A TypeRef exists which should, but does not, have a corresponding TypeDef: (dummy): (0x0100001f).
Мой код для main следующий:
int main()
{
//create thread object pointer
boost::thread *GUIThread;
//create pointer to GUIInterface, which contains a member function that
//contains the Application::Run
GUIInterface *myinterface;
myinterface = new GUIInterface;
GUIThread = new boost::thread(boost::bind(&GUIInterface::MainFunction, myinterface));
return 0;
}
Работает нормально при создании класса и вызове функции в основном потоке, но использование boost вызывает проблемы. Я построил boost, используя правильный компилятор MSVC-10.0, а библиотека потоков всегда работала в прошлом, но clr просто вызывает проблемы.
Любые рекомендации о том, как это исправить?
ИЛИ если мне просто нужно использовать многопоточность .net (если мне это нужно, мне действительно нужны ссылки на то, как использовать с c ++, большинство вещей, которые я нахожу, находится в C #).
Спасибо.