PMG

Форумы по созданию игр
Текущее время: 29 мар 2024 03:14

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Помогите , кто может.
СообщениеДобавлено: 08 май 2008 05:25 
Не в сети
Новичок

Зарегистрирован: 08 май 2008 05:04
Сообщения: 3
Здравствуйте!
Я новечек в OpenGL, поэтому заранее извиняюсь за нелепость. Изучил первый урок, и попробывал запустить его, но не получается. Программа не компилится, скачал ссайта модуль , и всеровно не компилится, выдаед ошибки. Код ошибки я напишу в конце. Он просит все строки(char) в MessageBox преобразовать в LPCWSTR. Я пробывал, но всероно ничего не получается. Объясните почему компилятор ругается? или может я не так преобразовывал?
Я программирую на Visual Studio 2008, и не доконца разобрался с подключением библиотек, может еще из-за этого.

1> error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [35]' to 'LPCWSTR'
1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1> error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [27]' to 'LPCWSTR'
1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1> error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [37]' to 'LPCWSTR'
1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [21]' to 'LPCWSTR'
1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1> error C2440: '=' : cannot convert from 'const char [16]' to 'LPCWSTR'
1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [37]' to 'LPCWSTR'
1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1> error C2664: 'CreateWindowExW' : cannot convert parameter 2 from 'const char [16]' to 'LPCWSTR'
1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1> error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [23]' to 'LPCWSTR'


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите , кто может.
СообщениеДобавлено: 08 май 2008 08:37 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
> error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [35]' to 'LPCWSTR'
Все, что с W - wide (двух байтные символы, Unicode). Ты пробуешь char (1 байт) преобразовать в WSTR (2 байта). Или тебе надо компилировать программу не в Unicode (General/Character Set/Use Multi-Byte Character Set, а не Unicode). Или ставить перед const char [35] буквы "L" типа: L"char 1 byte". По-моему "L", хотя может ошибюсь, или "_T" ???!!! 8)

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите , кто может.
СообщениеДобавлено: 09 май 2008 12:25 
Не в сети
Новичок

Зарегистрирован: 08 май 2008 05:04
Сообщения: 3
MagicWolf писал(а):
> error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [35]' to 'LPCWSTR'
Все, что с W - wide (двух байтные символы, Unicode). Ты пробуешь char (1 байт) преобразовать в WSTR (2 байта). Или тебе надо компилировать программу не в Unicode (General/Character Set/Use Multi-Byte Character Set, а не Unicode). Или ставить перед const char [35] буквы "L" типа: L"char 1 byte". По-моему "L", хотя может ошибюсь, или "_T" ???!!! 8)


А можно поподробней, что мне надо сделать?
Вод допустим возьму фрагмент кода и ее ошибку:
MessageBox(0,"Can't Find A Suitable PixelFormat.","Error",MB_OK|MB_ICONERROR);
ошибка:
error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [36]' to 'LPCWSTR'
что и как я должен дописать, или преобразовать ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите , кто может.
СообщениеДобавлено: 09 май 2008 23:22 
Не в сети
Новичок

Зарегистрирован: 04 апр 2008 17:10
Сообщения: 5
В настройках текущего проекта найди параметр Character Set и поменя его со значения Use Unicode Character Set на Use Multi-Byte Character Set.

Либо все строки пиши не:
Код:
"Строка"

а так:
Код:
L"Строка"


Т.е. твой код будет выглядить так:
Код:
MessageBox(0, L"Can't Find A Suitable PixelFormat.", L"Error",MB_OK|MB_ICONERROR);

_________________
Блог начинающего программиста игр


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите , кто может.
СообщениеДобавлено: 10 май 2008 11:10 
Не в сети
Новичок

Зарегистрирован: 08 май 2008 05:04
Сообщения: 3
Да спасибо, эти ошибки устранены. Но появилась новая...
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup

У нас в первом примере в коде нет функции main() , если я правильно понимаю, то он на это и раугается. Как можно исправить?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите , кто может.
СообщениеДобавлено: 11 май 2008 14:06 
Не в сети
Новичок

Зарегистрирован: 04 апр 2008 17:10
Сообщения: 5
Не правильно создал приложение свое, т.е. мог создать Windows Application, а пишешь вместо WinMain функции main и наоборот для Console Application пишешь WinMain вместо main.

_________________
Блог начинающего программиста игр


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB