реклама на сайте
подробности

 
 
> Ошибка компиляции, Visual C++ 2008
west329_
сообщение Sep 4 2008, 08:42
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



Никак не пойму почему не хочет собиратся проэкт, уже перерыл весь MSDN.
Код
// 1.cpp : Defines the entry point for the console application.
//

#include <stdafx.h>
#include "targetver.h"

#include <iostream>

#include <windows.h>

//#include <winbase.h>

//-----------------------
using namespace std;  // for <iostream>

char quit;

static char* sysdev[] = {
    "COM1:",
    "COM2:",
    "COM3:",
    "COM4:",
    NULL
};



HANDLE  hPort;
//------------------------


//SerialPort system_port;


int _tmain(int argc, _TCHAR* argv[])
{

    
    

//------------------------------------------------------------------------------  
      // Open the serial port.//lpszPortName

    
    hPort=CreateFile("COM2",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);



    
    cout << "configurator V.0.0.1a" << endl;


    quit = '\0';
    
    while(quit != 'q')
    {
        cin >> quit;
    }

    return 0;
}



ошибка
Цитата
------ Build started: Project: 1, Configuration: Debug Win32 ------
Compiling...
1.cpp
e:\documents and settings\kornilov\мои документы\visual studio 2008\projects\mainwork\1\1\1.cpp(56) : error C2664: 'CreateFileW' : cannot convert parameter 1 from 'const char [5]' to 'LPCWSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Build log was saved at "file://e:\Documents and Settings\KoRniloV\Мои документы\Visual Studio 2008\Projects\mainWORK\1\1\Debug\BuildLog.htm"
1 - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========



что самое интересное пробовал тотже самое на другом компиляторе DEV-C++4.9 собирается нормально ?

Сообщение отредактировал west329_ - Sep 4 2008, 08:42
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SysRq
сообщение Sep 4 2008, 11:30
Сообщение #2


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Есть два пути.

Первый, правильный (ИМХО) - перейти на unicode. Для этого:
1. Вместо char использовать _TCHAR
Код
_TCHAR buff[_MAX_PATH]

2. Все строковые константы объявлять с помощью макроса _T()
Код
_T("LPT write mode: %d")

3. Использовать IO функции с поддержкой unicode
Код
_tprintf()

Либо писать сразу только для unicode, забив на попытки оставить обратную совместимость (сразу использовать wchar_t, wprintf, L"text string" и т.д.).

Второй, "чтобы заработало" - отключить unicode. Для этого:
1. В опциях проекта, в Configuration Properties, справа в разделе Project Defaults выставить Character Set как Multi-byte.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 19:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.01378 секунд с 7
ELECTRONIX ©2004-2016