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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.85
M@ZAX@KEP
3 / 3 / 0
Регистрация: 03.10.2010
Сообщений: 8
#1

Не компилится даже "HelloWorld" -_- - C++

15.10.2010, 15:37. Просмотров 2520. Ответов 26
Метки нет (Все метки)

Пожалуйста, поставьте мне диагноз...
Создаю пустой проект qwerty в Visual Studio, добавляю единственный файл - qwerty.cpp Программа для дегенератов "Hello World"...
C++
1
2
3
4
5
6
7
8
#include <iostream>
 
int main(){
    int i(0);
    std::cout << "Hello, world! =)\n";
    std::cin >> i;
    return 0;
}
Запускается только на тачке с Visual Studio. В другой ОС (на том же металле) откомпиленная прога страстно жаждет DLL-ку MSVCP100.dll
Потом в свойствах проекта выбрал "Использовать MFC в статической библиотеке" (было "в общей библиотеке windows"), как писали тут и меня послало на
1>------ Построение начато: проект: qwerty, Конфигурация: Release Win32 ------
1>Построение начато 05.10.2010 18:14:16.
1>InitializeBuildStatus:
1> Создание "Release\qwerty.unsuccessfulbuild", так как было задано "AlwaysCreate".
1>ClCompile:
1> Для всех выходных данных обновления не требуется.
1> qwerty.cpp
1>LIBCMT.lib(wwincrt0.obj) : error LNK2001: неразрешенный внешний символ "_wWinMain@16"
1>C:\Documents and Settings\MX\мои документы\visual studio 2010\Projects\Study\Release\qwerty.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:02.64
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Откопал этот файл (LIBCMT.lib) поиском где-то в папке с Visual Studio, копирнул его в папку проекта (+ в папку решения\Release, где создаётся exe_шник) - не помогло.
\me в панике xD

ЗЫ Зря Айвор Хортон в своей толстенной книженции ничего не написал про компиляцю и сопровождение программы))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2010, 15:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не компилится даже "HelloWorld" -_- (C++):

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++
Разработать программу с использованием наследования классов, реализующую классы: − воин; − пехотинец(винтовка); − матрос(кортик). ...

Консоль даже не запускается, и + "выражение должно иметь тип указателя на обьект" - C++
выражение должно иметь тип указателя на обьект. код: void showArr(int massivInna, int N) { for (int i=0; i&lt;(N+15); i++) { ...

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс" - C++
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об издании, а также определить является ли данное...

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" - C++
Помогите с кодом написания задачи, не понимаю как написать классы в классе. Нужно создать класс &quot;вентилятор&quot; содержащий в себе классы:...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания" - C++
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько лет книге и количество дней прошедших...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
15.10.2010, 15:53 #2
Цитата Сообщение от M@ZAX@KEP Посмотреть сообщение
Запускается только на тачке с Visual Studio
Вы же написали что програма не компилитсо,как тогда она запускаетсо ?
Manjak
269 / 175 / 7
Регистрация: 12.03.2010
Сообщений: 494
15.10.2010, 16:49 #3
Не
C++
1
int i(0);
, а
C++
1
int i = 0;
Так конструктор для типа инт лучше не пытаться вызвать.
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
15.10.2010, 17:59 #4
Manjak, это же концептуально одно и то же
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
15.10.2010, 17:59 #5
Manjak, какой конструктор для простого типа? Это простая инициализация
Manjak
269 / 175 / 7
Регистрация: 12.03.2010
Сообщений: 494
15.10.2010, 18:05 #6
Цитата Сообщение от M128K145 Посмотреть сообщение
Manjak, какой конструктор для простого типа? Это простая инициализация
Стандарт почитай.

По задумке одно и то же, но компилятор имеет привычку такие выражения с интом воспринимать как обьявление функции.
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,608
15.10.2010, 18:10 #7
Manjak, прекрасно оно так работает!
C++
1
2
3
4
5
6
7
#include <iostream>
 
int main(){
    int i(13);
    std::cout << i << std::endl;
    return 0;
}
M@ZAX@KEP, попробуйте первой же строкой
C++
1
#include "stdafx.h"
написать
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
15.10.2010, 18:11 #8
Manjak, какой компилятор? И линк на подобную запись в стандарте
Manjak
269 / 175 / 7
Регистрация: 12.03.2010
Сообщений: 494
15.10.2010, 18:37 #9
Пункт 8.5.5, дефолтная инициализация стандартных типов.
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
15.10.2010, 18:54 #10
Manjak, ссылку на источник? Можно в ЛС
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
15.10.2010, 20:40 #11
Цитата Сообщение от easybudda Посмотреть сообщение
C++
1
int i(13);
Ого,даже не знал что в влюсах можно так инициализировать переменные.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
15.10.2010, 21:09 #12
Asics^, Ну собственно по-моему это аналогично по сути.

C++
1
2
3
4
5
6
int main()
{
    int* a;
    a=new int(5);
    return 0;
}
После выделения идет инициализация int-а.

Manjak, Если это есть плохо, то почему?

C++
1
2
3
4
    void resize(size_type _Newsize)
        {   // determine new length, padding with _Ty() elements as needed
        resize(_Newsize, _Ty());
        }
Из реализации вектора в MSVS
Manjak
269 / 175 / 7
Регистрация: 12.03.2010
Сообщений: 494
15.10.2010, 21:17 #13
Потому что дефолтная инициализация предусмотрена для всех без исключения типов. И эта функия соотвествует всем правилам стандарта.
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
15.10.2010, 21:21 #14
Manjak, вот цитата
— if T is a non-POD class type (clause 9), the default constructor for T is called (and the initialization is
ill-formed if T has no accessible default constructor);
— if T is an array type, each element is default-initialized;
— otherwise, the storage for the object is zero-initialized.
Код
C++
1
int variable(10);
Проверяем по пунктам:
- если T не POD(plain old data type - простой тип данных), то вызывается конструктор по умолчанию. Тип int как раз относится к POD. Не подходит.
- если T массив, этим значением инициализируется первый элемент массива, остальные - значением по умолчанию для данного типа. У нас не массив - не подходит.
- в других случаях происходит простая инициализация этим значением, о чем я и сказал в пятом посте.

В чем я не прав?
Manjak
269 / 175 / 7
Регистрация: 12.03.2010
Сообщений: 494
15.10.2010, 21:34 #15
Кхе-кхе последний пункт "слегка" не так переводится А про инициализацию с помощью () немного не в том разделе написано
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2010, 21:34
Привет! Вот еще темы с ответами:

Определить тип данных "Запись", имеющий поля "Фамилия", "Пол", "Зарплата" - C++
определить тип данных запись имеющий поля фамилия пол зарплата. определить массив из 10 записей. в программе ввести в массив данные и...

Структура «Преподаватель» с полями "ФИО", "стаж", "категория", "нагрузка" - C++
Функция - расчёт зарплаты по нагрузке и оплате часа для определенной категории. Категория Оплата часа Вторая 150 Первая 200 ...

Создать иерархию классов "Фирма", "Бухгалтер", "Сотрудник", "Зарплата" - C++
Само по себе понятие &quot;зарплата&quot; не особенно конкретное: оно включает и почасовую, и ставочную зарплату, и комиссионные, и процент с продаж....

по строкам.замените в слове сочетание "му" на "а" , а букву "ы" на "ца". очень нужно - C++
замените в слове сочетание &quot;му&quot; на &quot;а&quot; , а букву &quot;ы&quot; на &quot;ца&quot;. очень нужно Добавлено через 21 час 4 минуты неужели никто не знает...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.10.2010, 21:34
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru