Форум программистов, компьютерный форум CyberForum.ru

Компиляция проэкта в VS2010 - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.81
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,508
25.08.2011, 03:18     Компиляция проэкта в VS2010 #1
В очередной раз поставил это детище майкрософта и в очередной раз у меня ничего не комплиируется, в прошлый раз всё как-то заработало через пару недель само, в этот раз у меня нет времени ждать пока её величество VS2010 надумает работать. Если коротко :
открываю vs2010-> выбираю создать новый проэкт -> выбираю консольное приложение-> в всплывшем окошке ставлю галочку возле "пустой проэкт" и убираю возле "предварительно скомпилированный заголовок". В папке с проэктом создаю файл Simple.cpp, который тут же открываю в VS2010 и вставляю код
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    string s1="Hello";
    string s2="World";
    string s3;
    cout<<s3=s1+", "+s2+"!\n";
    return 0 ;
}
При попытке скомпилировать, я как всегда получаю "информативную ошибку":

1>------ Построение начато: проект: Simple, Конфигурация: Debug Win32 ------
1>Построение начато 25.08.2011 2:14:50.
1>InitializeBuildStatus:
1> Обращение к "Debug\Simple.unsuccessfulbuild".
1>ManifestResourceCompile:
1> Для всех выходных данных обновления не требуется.
1>LINK : error LNK2001: неразрешенный внешний символ "_mainCRTStartup"
1>C:\Users\Gepar\documents\visual studio 2010\Projects\Simple\Debug\Simple.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:00.85
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Собственно я без понятия что оно не может слинковать, что за _mainCRTStartup и как это убрать. Вот 3 раз ставлю VS2010 и каждый раз какая-то новая ошибка при попытке компиляции, раздражает просто жуть.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.08.2011, 03:18     Компиляция проэкта в VS2010
Посмотрите здесь:

C++ Компиляция на VS2010
Работа с set_terminate в vs2010 C++
Интерфейс в VS2010 C++
C++ Visyal Studio C++ создание проэкта
C++ Место расположения проэкта в ноуте
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Oleg_SK
5 / 5 / 2
Регистрация: 15.09.2010
Сообщений: 25
25.08.2011, 04:00     Компиляция проэкта в VS2010 #2
C++
1
cout<<(s3=s1+", "+s2+"!\n");
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
25.08.2011, 05:36     Компиляция проэкта в VS2010 #3
Цитата Сообщение от Gepar Посмотреть сообщение
В папке с проэктом создаю файл Simple.cpp, который тут же открываю в VS2010 и вставляю код
А в проект этот файл добавляешь?
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
25.08.2011, 07:29     Компиляция проэкта в VS2010 #4
Цитата Сообщение от Gepar Посмотреть сообщение
C++
1
cout<<s3=s1+", "+s2+"!\n";
Что это? Оо
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
25.08.2011, 11:00     Компиляция проэкта в VS2010 #5
Цитата Сообщение от Gepar Посмотреть сообщение
Вот 3 раз ставлю VS2010 и каждый раз какая-то новая ошибка при попытке компиляции, раздражает просто жуть.
Если не умеешь создавать проект с нуля - не создавай проект с нуля.
Создай не пустой проект и замени сгенереный код на свой. Только "stdafx.h" оставить не забудь.

Вот сами не знамо что творят, а виноват всегда майкрософт, конечно же. Как мне удалить _mainCRTStartup? Ну молодец, чего уж сказать...

Добавлено через 41 секунду
Цитата Сообщение от Toshkarik Посмотреть сообщение
Что это? О
Как раз никаких проблем, кроме кривого стиля кодирования, нет.
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,508
25.08.2011, 19:30  [ТС]     Компиляция проэкта в VS2010 #6
Toshkarik, ну я собственно специально и полез в vs2010 компилировать это так как minigv делать это
C++
1
 cout<<s3=s1+", "+s2+"!\n";
без скобок
C++
1
 cout<<(s3=s1+", "+s2+"!\n");
не позволяет (не компилирует), Страуструп же написал именно так пример в своей книге и мне стало интересно а скомпилируется ли такой код в vs2010.

Цитата Сообщение от Deviaphan Посмотреть сообщение
от сами не знамо что творят, а виноват всегда майкрософт, конечно же. Как мне удалить _mainCRTStartup? Ну молодец, чего уж сказать...
Я хочу избавиться от ошибки, чего-куда удалять мне не понятно так как новый проэкт не компилируется и ругается на непойми что.

Добавлено через 57 секунд
Цитата Сообщение от kazak Посмотреть сообщение
А в проект этот файл добавляешь?
А вот не знаю, я открыл свой проэкт, а потом через меню файл-> открыть открыл этот свой файл, как понять добавило оно его в проэкт или нет? Я так понимаю что нет, но как тогда в этой vs2010 добавлять файлы в проэкт?
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
25.08.2011, 19:34     Компиляция проэкта в VS2010 #7
Цитата Сообщение от Gepar Посмотреть сообщение
А вот не знаю, я открыл свой проэкт, а потом через меню файл-> открыть открыл этот свой файл, как понять добавило оно его в проэкт или нет? Я так понимаю что нет, но как тогда в этой vs2010 добавлять файлы в проэкт?
смотри в обозревателе решений, если там в исходниках нет значит не добавил, тогда в том же обозревателе правой кнопкой по проекту - Добавить - Добавить существующий файл
Oleg_SK
5 / 5 / 2
Регистрация: 15.09.2010
Сообщений: 25
25.08.2011, 19:35     Компиляция проэкта в VS2010 #8
Цитата Сообщение от Deviaphan Посмотреть сообщение
Как раз никаких проблем, кроме кривого стиля кодирования, нет.
Только вот, если не заключить выражение в круглые скобки, компилятор (в Visual Studio 2010) будет ругаться на ошибку: error C2679: binary '=' : no operator found which takes a right-hand operand of type 'std::basic_string<_Elem,_Traits,_Ax>' (or there is no acceptable conversion)
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,508
25.08.2011, 19:37  [ТС]     Компиляция проэкта в VS2010 #9
Цитата Сообщение от Deviaphan Посмотреть сообщение
Создай не пустой проект и замени сгенереный код на свой. Только "stdafx.h" оставить не забудь.
Ага, я так раньше пробовал, оно потом начинает неведомые ошибки допускать ... хотя в этот раз, как не странно, скомпилировало, точнее скомпилировало после того как добавил скобки чтобы результат на вывод отправлялся, а я то изнчально хотел чтобы оно без скобок скомпилировалось, как и написано в примере Страуструпа, эх ....
Тем не менее раз уж я создал тему: вот пытаюсь я скомпилировать проэкт с кодом где в cout результат отправляю без скобок и получаю ошибку:

------ Построение начато: проект: Simplest, Конфигурация: Debug Win32 ------
1>Построение начато 25.08.2011 18:34:02.
1>InitializeBuildStatus:
1> Создание "Debug\Simplest.unsuccessfulbuild", так как было задано "AlwaysCreate".
1>ClCompile:
1> Simplest.cpp
1>c:\users\gepar\documents\visual studio 2010\projects\simplest\simplest\simplest.cpp(14): error C2679: бинарный "=": не найден оператор, принимающий правый операнд типа "std::basic_string<_Elem,_Traits,_Ax>" (или приемлемое преобразование отсутствует)
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>,
1> _Ax=std::allocator<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(66): может быть "std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator =(std::basic_ostream<_Elem,_Traits> &&)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(604): или "std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator =(const std::basic_ostream<_Elem,_Traits> &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> при попытке сопоставить список аргументов "(std::basic_ostream<_Elem,_Traits>, std::basic_string<_Elem,_Traits,_Ax>)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:00.85
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Вот как я должен догадаться где у меня ошибка (в vs2010 у меня сейчас номерации строк нет, в информации по ошибки ничего не выделяется и не подчёркивается, сплошная стена текста), в коде строка где произошла ошибка тоже никак не выделилась. VS рассчитывает что я умышленно в виде шутки допускаю ошибку и уже знаю где она так что и указывать мне проблемную строку вовсе не надо?
Oleg_SK
5 / 5 / 2
Регистрация: 15.09.2010
Сообщений: 25
25.08.2011, 19:49     Компиляция проэкта в VS2010 #10
Цитата Сообщение от Gepar Посмотреть сообщение
Вот как я должен догадаться где у меня ошибка (в vs2010 у меня сейчас номерации строк нет, в информации по ошибки ничего не выделяется и не подчёркивается, сплошная стена текста), в коде строка где произошла ошибка тоже никак не выделилась. VS рассчитывает что я умышленно в виде шутки допускаю ошибку и уже знаю где она так что и указывать мне проблемную строку вовсе не надо?
Попробуйте сделать двойной клик мышью на строке с ошибкой в окне Output (т.е. на строке, где написано: error C2679: бинарный "=": не найден оператор, принимающий...). После этого курсор в окне с исходным кодом будет перемещен на строку, в которой обнаружена эта ошибка... Кроме того, в строке состояния отображается номер строки на которой в данный момент находится курсор.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
25.08.2011, 20:06     Компиляция проэкта в VS2010 #11
Цитата Сообщение от Oleg_SK Посмотреть сообщение
Только вот, если не заключить выражение в круглые скобки
Ну да. Сперва выводится в поток s3, а потом потоку пытается присвоиться строка...
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
26.08.2011, 03:33     Компиляция проэкта в VS2010 #12
Цитата Сообщение от Gepar Посмотреть сообщение
Вот как я должен догадаться где у меня ошибка (в vs2010 у меня сейчас номерации строк нет, в информации по ошибки ничего не выделяется и не подчёркивается, сплошная стена текста), в коде строка где произошла ошибка тоже никак не выделилась.
Обрати внимание
Цитата Сообщение от Gepar Посмотреть сообщение
1>c:\users\gepar\documents\visual studio 2010\projects\simplest\simplest\simplest.cpp(14): error C2679: бинарный "=": не найден оператор, принимающий правый операнд типа "std::basic_string<_Elem,_Traits,_Ax>" (или приемлемое преобразование отсутствует)
интересные места буду выделять
Цитата Сообщение от Gepar Посмотреть сообщение
1>c:\users\gepar\documents\visual studio 2010\projects\simplest\simplest\simplest.cpp(14): error C2679: бинарный "=": не найден оператор, принимающий правый операнд типа "std::basic_string<_Elem,_Traits,_Ax>" (или приемлемое преобразование отсутствует)
жирным выделенно: в каком файле проекта была найдена ошибка
Цитата Сообщение от Gepar Посмотреть сообщение
1>c:\users\gepar\documents\visual studio 2010\projects\simplest\simplest\simplest.cpp(14): error C2679: бинарный "=": не найден оператор, принимающий правый операнд типа "std::basic_string<_Elem,_Traits,_Ax>" (или приемлемое преобразование отсутствует)
в какой строке
Цитата Сообщение от Gepar Посмотреть сообщение
1>c:\users\gepar\documents\visual studio 2010\projects\simplest\simplest\simplest.cpp(14): error C2679: бинарный "=": не найден оператор, принимающий правый операнд типа "std::basic_string<_Elem,_Traits,_Ax>" (или приемлемое преобразование отсутствует)
тип ошибки, описание можно посмотреть в справке
Цитата Сообщение от Gepar Посмотреть сообщение
1>c:\users\gepar\documents\visual studio 2010\projects\simplest\simplest\simplest.cpp(14): error C2679: бинарный "=": не найден оператор, принимающий правый операнд типа "std::basic_string<_Elem,_Traits,_Ax>" (или приемлемое преобразование отсутствует)
подробности ошибки.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.08.2011, 04:34     Компиляция проэкта в VS2010
Еще ссылки по теме:

C++ у кого VS2010?
C++ Flex and bison and VS2010
C++ Компиляция программы VS2010

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,042
26.08.2011, 04:34     Компиляция проэкта в VS2010 #13
Цитата Сообщение от Oleg_SK Посмотреть сообщение
Попробуйте сделать двойной клик мышью на строке с ошибкой в окне Output (т.е. на строке, где написано: error C2679: бинарный "=": не найден оператор, принимающий...). После этого курсор в окне с исходным кодом будет перемещен на строку, в которой обнаружена эта ошибка..
еще хороша клавиша F4

Цитата Сообщение от Gepar Посмотреть сообщение
Вот как я должен догадаться где у меня ошибка (в vs2010 у меня сейчас номерации строк нет,
Не пробовал изучать инструмент на котором работаешь???
Цитата Сообщение от Gepar Посмотреть сообщение
что за _mainCRTStartup и как это убрать.
это функция которая вызывается до main.
видать уже удалил
Цитата Сообщение от Gepar Посмотреть сообщение
LINK : error LNK2001: неразрешенный внешний символ "_mainCRTStartup"
как умудрился??

Цитата Сообщение от Gepar Посмотреть сообщение
убираю возле "предварительно скомпилированный заголовок
ЗА ЧТО ?

Добавлено через 6 минут
Цитата Сообщение от Gepar Посмотреть сообщение
Вот 3 раз ставлю VS2010 и каждый раз какая-то новая ошибка при попытке компиляции, раздражает просто жуть.
зачем ставишь
зачем мучаешься
Yandex
Объявления
26.08.2011, 04:34     Компиляция проэкта в VS2010
Ответ Создать тему
Опции темы

Текущее время: 11:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru