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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
G-Cat
16 / 16 / 1
Регистрация: 15.03.2009
Сообщений: 94
#1

linked error - C++

28.09.2009, 00:19. Просмотров 1838. Ответов 28
Метки нет (Все метки)

только начал программу писать и сразу траблы. Но по порядку.

main.cpp:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include "newfunc.h"
 
using namespace std;
 
int main()
{
    system ("CLS");
    
    int quit;
    do
    {
        rusout("Введите координаты области, которую хотите удалить:\n");
        rusout("X: ");  int x;  cin >> x;
        rusout("Y: ");  int y;  cin >> y;
 
        rusout("\nЗакончить изменения? (1-да/0-нет): ");
        cin >> quit;                   
    }
    while(quit != 1 );
    
    system ("pause");
    return 0;
}
newfunc.h:
C++
1
int rusout(char *Str);
rusout.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include "newfunc.h"
 
using namespace std;
 
int rusout(char *Str)
{
    unsigned char c;
    for(int i = 0; Str[i] != '\0'; i++)
    {
        c = Str[i];
        
        if(c > 127)
            {
                if(c < 240)
                c -= 64;
                else
                c -= 16;
            }
        cout << c;
    }
}
Собственно DEV Cpp ругается так:
[Linker error] undefined reference to `rusout(char*)'

DMC компилирует, но при запуске говорит что это приложение не является win32.

Прошу сразу заметить прога ещё далека от завершение и потому пусть вас не смущает её несколько неказистая конструкция.

Собственно вопрос: Кто виноват и что делать?

ЗЫ: заранее спасибо за игнор\ответ\мат в ответ...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
29.09.2009, 16:34     linked error #21
Evg, так я ж и не спорю...
Цитата Сообщение от easybudda Посмотреть сообщение
А по сути - да, видимо, просто компилирует ТС свою програмку неправильно...
G-Cat
16 / 16 / 1
Регистрация: 15.03.2009
Сообщений: 94
29.09.2009, 19:55  [ТС]     linked error #22
Всем ОГРОМНОЕ спасибо, что вызвались мне помочь. Синтаксических "ошибок" связанныйх с функциями уже давно нет, но напомню:

Цитата Сообщение от G-Cat Посмотреть сообщение
Прошу сразу заметить прога ещё далека от завершение и потому пусть вас не смущает её несколько неказистая конструкция.
Ладно, значится мы разобрались, что в создании/объявлении/инициализации и вообще в коде проблем у мя нет. Вопрос теберь будет звучать так (я думаю что один фиг он попадает в тему этого топика и новую тему создавать не надо): "Уважаемые знатоки, как скомпилировать на MinGW(ни он ли самый удачный порт GCC на windows?), DevCpp и Digital Mars данный проект?". Ну т.е. как уважаемый easybudda уже писал нужно просто сразу несколько файлов на компиляцию послать...только вот проблема, файлов у меня уже будет 5 и ето не конец...что каждое изменение и последующая проверка будут сопровождаться написанием в коммандной строке гигантских толмутов с перечислением файлов? Или есть другие варианты?

ЗЫ: по прежнему заранее благодарю за игнор\ответ\мат в ответ...
kravam
быдлокодер
1695 / 874 / 44
Регистрация: 04.06.2008
Сообщений: 5,341
29.09.2009, 20:47     linked error #23
Ест вариант компилировать не из командной строки.
Создаёшь папку, пихаешь туда все НАПИСАННЫЕ ТОБОЙ файлы проекта (кроме тех *h которые поставляются со средой программирования.)
Затем открываешь в среде главный файл. Наверное, main.cpp И жмёшь на "скомпилировать". В DEV C++ по умолчанию это кнопка F9.

Потом разбираешься с ошибками.

Это просто, по-сермяжному.
А есть ещё в вышеупомянутой среде опции как СПЕЦИАЛЬНО создать именно проект. Но я с ними ещё не разбирался.
Monte-Cristo
2786 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
29.09.2009, 20:50     linked error #24
Цитата Сообщение от Evg Посмотреть сообщение
Monte-Cristo, ну зачем ты людям неправильные советы даёшь.
Я давал вариант решения. С Dev-Cpp я не очень хорошо дружу Мне привычный что-то типа:
Bash
1
g++ main.cpp rusout.cpp -o some.exe
или
Bash
1
2
3
g++ main.cpp -c
g++ rusout.cpp -c
g++ main.o rusout.o -o some.exe

Цитата Сообщение от Evg Посмотреть сообщение
Исходники у него были написаны правильно.
Я ж за исходники слова не сказал.
Evg
Эксперт CАвтор FAQ
17299 / 5547 / 347
Регистрация: 30.03.2009
Сообщений: 15,101
Записей в блоге: 26
29.09.2009, 21:03     linked error #25
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
Я давал вариант решения
ТИпичный образец того, как НЕ надо людей учить
G-Cat
16 / 16 / 1
Регистрация: 15.03.2009
Сообщений: 94
29.09.2009, 21:25  [ТС]     linked error #26
я правильно понял что аналог линуксовой gcc на виндах это mingw?
Evg
Эксперт CАвтор FAQ
17299 / 5547 / 347
Регистрация: 30.03.2009
Сообщений: 15,101
Записей в блоге: 26
29.09.2009, 21:33     linked error #27
Насколько я понимаю, gcc он и в африке gcc - консольный компилятор. А mingw, dev-cpp - это графические студии НАД компилятором. Т.е. в процессе работы они просто вызывают компилятор

Если это хозяйство нормально умеет работать с Makefile'ами - почитай тут

Добавлено через 1 минуту
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
Я давал вариант решения
Кстати, это не "решение", а "затаптывание" проблемы
Monte-Cristo
2786 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
29.09.2009, 21:42     linked error #28
Цитата Сообщение от Evg Посмотреть сообщение
ТИпичный образец того, как НЕ надо людей учить
Ну я, вообщем-то, на роль учителя и не претендую.. Никаких законов в программировании нет (есть лишь условности и реккомендации), и как любой проффесионал, я должен знать как можно обойти любую проблему. В данном случае, в связи со своей некомпетентностью по отношению к Dev-Cpp, я показал как можно обойти.

Цитата Сообщение от Evg Посмотреть сообщение
А mingw, dev-cpp - это графические студии НАД компилятором.
Dev-Cpp - это IDE (интегрированная среда разработки)..
MinGW - это порт GNU/GCC на ОС Windows.
Dev-Cpp по-умолчанию использует MinGW... Но также умеет работать и с другими компиляторами.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.09.2009, 22:06     linked error
Еще ссылки по теме:

Linked List: error C2360: initialization of 'vp' is skipped by 'case' label C++
C++ Error LNK1120, error LNK2019, error LNK2028, queue
Ошибка Linked Error в wxDev C++ C++
Указатели, связной список (Linked List) и динамическое выделение памяти C++
Linked List класс C++

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

Или воспользуйтесь поиском по форуму:
easybudda
Эксперт С++
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
29.09.2009, 22:06     linked error #29
G-Cat, Мне под виндой cygwin нравится. Не то, чтоб прям совсем юниксовая консоль, но весьма похожа. А там уж и PERL, и gcc/g++, и куча всего интересного... Опять же man - имхо самый простой способ получить справку по команде/функции. Но и не без минусов, конечно... В любом случае - рекомендую. www.cygwin.com
Yandex
Объявления
29.09.2009, 22:06     linked error
Ответ Создать тему
Опции темы

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