У меня проблема при создании проекта в Visual Studio 2010 для 64-битного. Я не смог построить для 64-битной библиотеки boost, я становлюсь ниже ошибки. Я могу построить для 32-битного, но не для 64-битного.basic_timed_mutex.hpp (159): фатальная ошибка C1001: Внутренняя ошибка произошла в компиляторе
\boost_1_49_0\boost\thread\win32\basic_timed_mutex.hpp(159): fatal error C1001: An internal error has occurred in the compiler
(compiler file 'f:\dd\vctools\compiler\utc\src\p2\wvm\mdmiscw.c', line 2704)
5 To work around this problem, try simplifying or changing the program near the locations listed above.
5> Please choose the Technical Support command on the Visual C++
5> Help menu, or open the Technical Support help file for more information
5> The command exited with code 2.
Указывает на ошибку ниже кода и, конечно, я не могу изменить библиотеку boost. Я путать с этой ошибкой
void unlock()
{
long const offset=lock_flag_value;
long const old_count=BOOST_INTERLOCKED_EXCHANGE_ADD(&active_count,lock_flag_value);
if(!(old_count&event_set_flag_value) && (old_count>offset))
{
if(!win32::interlocked_bit_test_and_set(&active_count,event_set_flag_bit))
{
win32::SetEvent(get_event());
}
}
}
Можете ли вы помочь мне,
Спасибо
Отредактировано:
Я не уверен, где ошибка, но я думаю, что его в библиотеках наддува , существует файл cpp, такой как
Class a::a(, point,)
{
}
и "точка" - это пространство имен, которое является определены в заголовочном файле, который использует библиотеки подталкивания и имеет следующий код
#include <boost/thread.hpp>
#include <boost/thread/recursive_mutex.hpp>
namespace point
{
// some work1
void fun()
{
boost::unique_lock<boost::recursive_mutex> lck(*m_RedrawMutex);
// some work2
}
// some work3
}
Ответ:
Это, наконец, работает !! После двух дней поиска я нашел другой способ. Я просто изменил порядок включения пути в заголовок проекта, где он использовал boost basic_timed_mutex.hpp. Я разместил boost, включив путь вверху, и он сработал. Странно!!!
, пожалуйста, напишите минимальный полный пример, который показывает проблему - что-то, что мы можем скомпилировать и воспроизвести. Как вы думаете? Что мы - Высшие Разумные Существа, которые могут всего лишь знать ваш код, плюс весь код в компиляторе? –
@richard Я обновил. Извините, если я не смогу связаться с вами. У меня нет такого опыта в C++ – Raj
Код выглядит как управляемый C++, который не может считаться C++. Я обновил тег. –