Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> консольная графика, не понятные ошибки при компиляции 
:(
    Опции темы
jurgal
Дата 20.12.2007, 01:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

#include "stdafx.h"
// circstrc.cpp
// circles as graphics objects
#include "msoftcon.h"         // for graphics functions
////////////////////////////////////////////////////////////////
struct circle                 //graphics circle
   {
   int xCo, yCo;              //coordinates of center
   int radius;                
   color fillcolor;           //color
   fstyle fillstyle;          //fill pattern
   };
////////////////////////////////////////////////////////////////
void circ_draw(circle c)             
   {
   set_color(c.fillcolor);               //set color
   set_fill_style(c.fillstyle);          //set fill pattern
   draw_circle(c.xCo, c.yCo, c.radius);  //draw solid circle            
   }
//--------------------------------------------------------------
int main()
   {
   init_graphics();           //initialize graphics system
                              //create circles
   circle c1 = { 15, 7, 5, cBLUE, X_FILL };
   circle c2 = { 41, 12, 7, cRED, O_FILL }; 
   circle c3 = { 65, 18, 4, cGREEN, MEDIUM_FILL };

   circ_draw(c1);             //draw circles
   circ_draw(c2);
   circ_draw(c3);
   set_cursor_pos(1, 25);     //cursor to lower left corner
   return 0;
   }


при компиляции получаю такие сообщения об ошибках: 
Код

1>111.obj : error LNK2019: unresolved external symbol "void __cdecl set_color(enum color,enum color)" (?set_color@@YAXW4color@@0@Z) referenced in function "void __cdecl circ_draw(struct circle)" (?circ_draw@@YAXUcircle@@@Z)
1>111.obj : error LNK2019: unresolved external symbol "void __cdecl set_cursor_pos(int,int)" (?set_cursor_pos@@YAXHH@Z) referenced in function _main
1>111.obj : error LNK2019: unresolved external symbol "void __cdecl init_graphics(void)" (?init_graphics@@YAXXZ) referenced in function _main
1>C:\Documents and Settings\Администратор\Мои документы\Visual Studio 2005\Projects\111\Debug\111.exe : fatal error LNK1120: 5 unresolved externals

компилятор MS VC++ Express, заголовочный файл msoftcon.h прикрепил к сообщению. Это пример из книги Р.Лафоре "Объектно-ориентированное программирование в С++". 


Присоединённый файл ( Кол-во скачиваний: 307 )
Присоединённый файл  msoftcon.h 1,24 Kb
PM MAIL   Вверх
Alexeis
Дата 20.12.2007, 01:25 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



  Насколько мне известно в консоли нет графического режима. Его можно активизировать только в режиме эмуляции дос приложения. Консоль это все таки Windows приложение в текстовом режиме.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Silent_s
Дата 20.12.2007, 02:10 (ссылка)    | (голосов:7) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ты наверно не инициализировал должным образом графический режим.(В с++ не знаю как)
--------------------
Мой блог
PM MAIL   Вверх
baldina
Дата 20.12.2007, 11:31 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

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



явно в книжке приводятся примеры с использованием некоей библиотеки (написанной самим Лафоре?), которой и принадлежит указанный msoftcon.h. Там, где взял его, должна быть библиотека - файл с расширением .lib. Её надо подключить к проекту (во вкладке input опций линкера в свойствах проекта)

Добавлено @ 11:35
все оказалось проще. кроме .h там есть еще msoftcon.cpp, его надо просто включить в проект. на всякий случай прикрепил.

Добавлено через 5 минут и 4 секунды
Цитата

Насколько мне известно в консоли нет графического режима


а там вообще не графический режим. в консоли символами рисуется. забавно...  smile 

Это сообщение отредактировал(а) baldina - 20.12.2007, 11:35

Присоединённый файл ( Кол-во скачиваний: 197 )
Присоединённый файл  msoftcon.cpp 5,59 Kb
PM MAIL   Вверх
paguk
Дата 21.8.2009, 08:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Error    1    error C2664: 'CreateFileW' : cannot convert parameter 1 from 'const char [8]' to 'LPCWSTR'    c:\documents and settings\main\мои документы\visual studio 2008\projects\project1\console_keug\console_keug\msoftcon.cpp    17

выводит такую ошибку .... что делать??? smile  smile  smile  smile 

Присоединённый файл ( Кол-во скачиваний: 77 )
Присоединённый файл  msoftcon.cpp 5,59 Kb
PM MAIL   Вверх
Alexeis
Дата 21.8.2009, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



CreateFileW юникодная, а вы даете ей однобайтовый 'const char [8]'. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
fuckingniger
  Дата 2.10.2010, 00:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



и что делать?
PM MAIL   Вверх
Crafty
Дата 2.10.2010, 03:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



fuckingniger,  в файле msoftcon.cpp заменить "CONOUT$" на L"CONOUT$".
Код

hConsole = CreateFile(L"CONOUT$", GENERIC_WRITE | GENERIC_READ,
                   FILE_SHARE_READ | FILE_SHARE_WRITE,
                   0L, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0L);

PM MAIL   Вверх
xvr
Дата 4.10.2010, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(fuckingniger @  2.10.2010,  00:55 Найти цитируемый пост)
и что делать? 

Застрелится  smile Или почитать FAQ, т.к. объяснять, где надо отключить в проекте Unicode в миллион первый раз уже надоело  smile 
 


Это сообщение отредактировал(а) xvr - 4.10.2010, 12:58
PM MAIL   Вверх
fuckingniger
Дата 5.10.2010, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



заменять его на многобайтовую кодировку!!!!
PM MAIL   Вверх
halfnode
Дата 18.1.2011, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ребят, помогите по этой же теме:
Подключил все это безобразие к C++ 2010, при попытке скомпилировать выдает такую строку:

Код

1>c:\c++\projects\9_multshap\9_multshap\msoftcon.cpp(7): warning C4627: #include "msoftcon.h": пропущен при поиске использования предкомпилированного заголовка


Он там что-то пропустил, а я, получается, виноват.   smile 
Как быть, куда бежать, что делать, и кто, все-таки, виноват?  smile 


UPD: Файл msoftcon.h так же подключен и находится в корневой папке проекта.

Это сообщение отредактировал(а) halfnode - 18.1.2011, 22:47
PM MAIL   Вверх
xvr
Дата 19.1.2011, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Отключите использование предкомпилированных хидеров (в настройках компилятора)

PM MAIL   Вверх
halfnode
Дата 20.1.2011, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

Отключите использование предкомпилированных хидеров (в настройках компилятора)


Спасибо, помогло!
Гугл выдает нЕчто сверхзаумное. Подскажите, пожалуйста, правильно ли я понял, что опция: "Не использовать предварительно скомпилированные заголовки", означает что все подключенные *.h файлы будут всегда заново перечитываться при компиляции? 
PM MAIL   Вверх
xvr
Дата 20.1.2011, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(halfnode @  20.1.2011,  00:37 Найти цитируемый пост)
Подскажите, пожалуйста, правильно ли я понял, что опция: "Не использовать предварительно скомпилированные заголовки", означает что все подключенные *.h файлы будут всегда заново перечитываться при компиляции?  
Да


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




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


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

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