Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/20: Рейтинг темы: голосов - 20, средняя оценка - 5.00
1186 / 542 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
1

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

25.08.2011, 03:18. Показов 4022. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В очередной раз поставил это детище майкрософта и в очередной раз у меня ничего не комплиируется, в прошлый раз всё как-то заработало через пару недель само, в этот раз у меня нет времени ждать пока её величество 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 и каждый раз какая-то новая ошибка при попытке компиляции, раздражает просто жуть.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.08.2011, 03:18
Ответы с готовыми решениями:

Компиляция на VS2010
Во вложенном архиве в папке src лежат исходники open source проекта. По каким-то причинам, в том...

Компиляция программы VS2010
Когда компилирую программу (Debug) всё нормально. Но если выбрать (Release) то появляются куча...

Компиляция проэкта
Можно ли игру собранную на Unity3D откомпилировать так чтобы потом в браузере запустить. И 3D игру...

C# VS2010 мот кто скинит книгу или ссылку даст на скачку?? (vs2010 rus)
C# VS2010 мот кто скинит книгу или ссылку даст на скачку?? (vs2010 rus)

12
5 / 5 / 0
Регистрация: 15.09.2010
Сообщений: 25
25.08.2011, 04:00 2
C++
1
cout<<(s3=s1+", "+s2+"!\n");
0
3528 / 2686 / 334
Регистрация: 11.03.2009
Сообщений: 6,168
25.08.2011, 05:36 3
Цитата Сообщение от Gepar Посмотреть сообщение
В папке с проэктом создаю файл Simple.cpp, который тут же открываю в VS2010 и вставляю код
А в проект этот файл добавляешь?
1
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
25.08.2011, 07:29 4
Цитата Сообщение от Gepar Посмотреть сообщение
C++
1
cout<<s3=s1+", "+s2+"!\n";
Что это? Оо
0
Делаю внезапно и красиво
Эксперт С++
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
25.08.2011, 11:00 5
Цитата Сообщение от Gepar Посмотреть сообщение
Вот 3 раз ставлю VS2010 и каждый раз какая-то новая ошибка при попытке компиляции, раздражает просто жуть.
Если не умеешь создавать проект с нуля - не создавай проект с нуля.
Создай не пустой проект и замени сгенереный код на свой. Только "stdafx.h" оставить не забудь.

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

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

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

Добавлено через 57 секунд
Цитата Сообщение от kazak Посмотреть сообщение
А в проект этот файл добавляешь?
А вот не знаю, я открыл свой проэкт, а потом через меню файл-> открыть открыл этот свой файл, как понять добавило оно его в проэкт или нет? Я так понимаю что нет, но как тогда в этой vs2010 добавлять файлы в проэкт?
0
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
25.08.2011, 19:34 7
Цитата Сообщение от Gepar Посмотреть сообщение
А вот не знаю, я открыл свой проэкт, а потом через меню файл-> открыть открыл этот свой файл, как понять добавило оно его в проэкт или нет? Я так понимаю что нет, но как тогда в этой vs2010 добавлять файлы в проэкт?
смотри в обозревателе решений, если там в исходниках нет значит не добавил, тогда в том же обозревателе правой кнопкой по проекту - Добавить - Добавить существующий файл
1
5 / 5 / 0
Регистрация: 15.09.2010
Сообщений: 25
25.08.2011, 19:35 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)
0
1186 / 542 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
25.08.2011, 19:37  [ТС] 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 рассчитывает что я умышленно в виде шутки допускаю ошибку и уже знаю где она так что и указывать мне проблемную строку вовсе не надо?
0
5 / 5 / 0
Регистрация: 15.09.2010
Сообщений: 25
25.08.2011, 19:49 10
Цитата Сообщение от Gepar Посмотреть сообщение
Вот как я должен догадаться где у меня ошибка (в vs2010 у меня сейчас номерации строк нет, в информации по ошибки ничего не выделяется и не подчёркивается, сплошная стена текста), в коде строка где произошла ошибка тоже никак не выделилась. VS рассчитывает что я умышленно в виде шутки допускаю ошибку и уже знаю где она так что и указывать мне проблемную строку вовсе не надо?
Попробуйте сделать двойной клик мышью на строке с ошибкой в окне Output (т.е. на строке, где написано: error C2679: бинарный "=": не найден оператор, принимающий...). После этого курсор в окне с исходным кодом будет перемещен на строку, в которой обнаружена эта ошибка... Кроме того, в строке состояния отображается номер строки на которой в данный момент находится курсор.
0
Делаю внезапно и красиво
Эксперт С++
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
25.08.2011, 20:06 11
Цитата Сообщение от Oleg_SK Посмотреть сообщение
Только вот, если не заключить выражение в круглые скобки
Ну да. Сперва выводится в поток s3, а потом потоку пытается присвоиться строка...
0
3528 / 2686 / 334
Регистрация: 11.03.2009
Сообщений: 6,168
26.08.2011, 03:33 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>" (или приемлемое преобразование отсутствует)
подробности ошибки.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
26.08.2011, 04:34 13
Цитата Сообщение от Oleg_SK Посмотреть сообщение
Попробуйте сделать двойной клик мышью на строке с ошибкой в окне Output (т.е. на строке, где написано: error C2679: бинарный "=": не найден оператор, принимающий...). После этого курсор в окне с исходным кодом будет перемещен на строку, в которой обнаружена эта ошибка..
еще хороша клавиша F4

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

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

Добавлено через 6 минут
Цитата Сообщение от Gepar Посмотреть сообщение
Вот 3 раз ставлю VS2010 и каждый раз какая-то новая ошибка при попытке компиляции, раздражает просто жуть.
зачем ставишь
зачем мучаешься
0
26.08.2011, 04:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.08.2011, 04:34
Помогаю со студенческими работами здесь

build проэкта
Есть моменты которые не могу точно понять : 1) у меня программа в которой 9 форм, всякие кнопки,...

Планирование проэкта
Доброго времени суток! Дали мне курсач, а план заданий проходится делать самому надо. Вообщем...

подготовка проэкта
Каким образом мне собрать проект так, чтобы его можно было запустить, скажем,с диска, или с любого...

сборка проэкта
изучаю qt на линуксе стоит сдк из репов 4.8 либы на винде был 5.0.1 решил поставить на винду версию...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru