PMG
http://forum.pmg.org.ru/

Помогите , кто может.
http://forum.pmg.org.ru/viewtopic.php?f=1&t=6669
Страница 1 из 1

Автор:  Otli4nik [ 08 май 2008 05:25 ]
Заголовок сообщения:  Помогите , кто может.

Здравствуйте!
Я новечек в 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'

Автор:  MagicWolf [ 08 май 2008 08:37 ]
Заголовок сообщения:  Re: Помогите , кто может.

> 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)

Автор:  Otli4nik [ 09 май 2008 12:25 ]
Заголовок сообщения:  Re: Помогите , кто может.

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'
что и как я должен дописать, или преобразовать ?

Автор:  younggamedeveloper [ 09 май 2008 23:22 ]
Заголовок сообщения:  Re: Помогите , кто может.

В настройках текущего проекта найди параметр 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);

Автор:  Otli4nik [ 10 май 2008 11:10 ]
Заголовок сообщения:  Re: Помогите , кто может.

Да спасибо, эти ошибки устранены. Но появилась новая...
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup

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

Автор:  younggamedeveloper [ 11 май 2008 14:06 ]
Заголовок сообщения:  Re: Помогите , кто может.

Не правильно создал приложение свое, т.е. мог создать Windows Application, а пишешь вместо WinMain функции main и наоборот для Console Application пишешь WinMain вместо main.

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/