Поиск:

Ответ в темуСоздание новой темы Создание опроса
> unordered_map Visual Studio 2012, unordered_map не работает 
:(
    Опции темы
Yulo
Дата 15.9.2013, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 10.4.2008

Репутация: нет
Всего: нет



Пытаюсь перейти на VS 2012 c VS 2010,
проект откомпилировался, но при запуске вылетает по ошибке.
Оказалось никак не хочет добавлять в контейнер
unordered_map

создал простой тест, у кого-нибудь это работает?

Код

#include "stdafx.h"
#include <unordered_map>
#include <string>
using namespace std;
typedef unordered_map<string, int> Nodes;
int _tmain(int argc, _TCHAR* argv[]){
  Nodes nn;
  nn.emplace(make_pair("aaa", 0));
  return 0; }


Чтобы поставить VS 2012 установил Win7, обновил.
VS 2012 тоже обновил.
Ошибка выскакивает:

Необработанное исключение по адресу 0x00D0E951 в ConsoleApplication1.exe: 0xC000001D: Illegal Instruction.


опытные люди, подскажите в чем проблема?
В VS 2010 работало

Может кто-нибудь скопировать и вставить в VS 2012.
Потом запустить.

Может у меня криво студия встала.
с vector-ом, например все хорошо. 
PM MAIL   Вверх
akizelokro
Дата 16.9.2013, 02:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: нет
Всего: 5



"VS 2012 unordered map" в Яндексе.
А нефикх каждые два года новый компилятор писать. Я понимаю, что это коммерчески выгодно.. Но косяки будут без конца, жди сервисПак

Добавлено через 10 минут и 6 секунд
А если честно, то я и за 2011 год ещё видел какую-то очередную "нехилую" версию Студии. называлась VS 2011 чёрт те что там вспомнишь, но тоже уже только у двух дилеров найдёшь. Ребятки решили играть в плане СтивДжобса.. пусть играют.

Добавлено через 12 минут и 4 секунды
Я чуть в осадок не выпал, когда мне потенциальный заказчик по штатовскому фрилансу решил прислать приглашение к обсужденю по 2011.


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
maxim1000
Дата 16.9.2013, 07:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 1
Всего: 110



Попробовал у себя на Express версии в Debug и Release - работает. Установлено 2-е обновление. Может, действительно, что-то не так поставилось.

Касательно стабильности компилятора - у меня на работе мы перешли с 2010-й, кода много, есть и старый, и новый. Проблем с компилятором не припоминаю.


--------------------
qqq
PM WWW   Вверх
Yulo
Дата 16.9.2013, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 10.4.2008

Репутация: нет
Всего: нет



Спасибо, ребята, за отклик.

Я только впервые поставил Вин7 и VS 2012 на нее.
Может что и накосячил, хотя врод бы все было нормально.
Дал обновиться и винде и Студии.
Что странно, в свойствах проекта стоит
"Общие свойства" - "Целевая среда: .NETFramework, Version=v4.0"
Создавая проект я выбираю версию 4.5.
Возможно в этом дело..
PM MAIL   Вверх
maxim1000
Дата 16.9.2013, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 1
Всего: 110



Ну не знаю, насколько полно поддерживается C++ для проектов под .Net... Я бы ожидал, что unordered_map даже не скомпилится.

Чтобы использовать C++ полностью, нужно создать C++-приложение, например, Visual C++/Win32 Console Application.


--------------------
qqq
PM WWW   Вверх
Yulo
Дата 16.9.2013, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 10.4.2008

Репутация: нет
Всего: нет



Если я создаю проект  Visual C++/Win32 Console Application,
то выше указанная программа вылетает по ошибке.

Если создать проект  Visual C++/CLR Console Application,
то нормально работает.

В первом случае получается "Целевая среда: .NETFramework, Version=v4.0"
во втором "Целевая среда: .NETFramework, Version=v4.5"
PM MAIL   Вверх
maxim1000
Дата 17.9.2013, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 1
Всего: 110



Если целевая среда - .NETFramework, (неважно какой), значит, что-то не так создалось точно. Возможно, из-за каких-либо действий после создания проекта он становится CLR. cs-файлы не добавляются?


--------------------
qqq
PM WWW   Вверх
Yulo
Дата 17.9.2013, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 10.4.2008

Репутация: нет
Всего: нет



Вообще мне .NetFraimwork не нужен. Я им не пользуюсь.
Собираюсь потом на Linux переносить.
cs-файлы, это вроде c#?

Я работаю с одним проектом. Создал его два года назад в VS2010.
Основная работа на с++. В тонкостях студии не приходилось разбираться.
Спасибо за советы. Пока ситуация не исправилась.

Переустанавливать Студию пока не решаюсь, пол дня ставил, включая обновления.
На работе комп помощнее, но пока там 2010-я студия стоит.
PM MAIL   Вверх
Yulo
Дата 22.9.2013, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 10.4.2008

Репутация: нет
Всего: нет



На работе поставил Вижуал  Студию 2012,
Все работает.
От компьютера же не должно зависеть.
Может что-то нужно задать в параметрах построения?
Никак не хочет на домашнем компе работать.
PM MAIL   Вверх
Yulo
Дата 24.9.2013, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 10.4.2008

Репутация: нет
Всего: нет



Да, действительно зависит от компьютера,
а точнее от процессора.
Т.к. проц старый, не все умеет.
Посмотрел на какой инструкции вылетает по ошибке,
оказалось она из SSE.
В параметрах проекта, в опции Включить расширенный набор инструкций
стояло "Не задано".
После того как я исправил на "Не использовать расширенные наборы инструкций (/arch:IA32)"
все заработало.

Если это кому-нибудь интересно!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0641 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.