Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
katrisha
10 / 10 / 0
Регистрация: 14.11.2008
Сообщений: 56
1

Не могу скомпилировать?

08.12.2008, 23:52. Просмотров 4619. Ответов 4
Метки нет (Все метки)

Здравствуйте, помогите пожалуйста, не могу скомпилировать. Выскакивают ошибки в стандартном заголовочном файле.
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include "stdafx.h"
#include <stdio.h>
#include <wininet.h>
using namespace std;
 
const int iSizeBuffer = 32768;
 
int main()  {
    char cServer[32]="google.ru" ;
    char cAddres[256]="";
    
    HINTERNET hInternetSession;
    hInternetSession = InternetOpen(TEXT("Microsoft Internet Explorer"), INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
    if(hInternetSession)    {
        HINTERNET hConnection;
        hConnection = InternetConnect(hInternetSession, TEXT(cServer) ,INTERNET_DEFAULT_HTTP_PORT,
                                        NULL, NULL, INTERNET_SERVICE_HTTP, 0, 1u);
        if(hConnection != NULL)    {
            HINTERNET hRequest;
            hRequest = HttpOpenRequest(hConnection, TEXT("GET"), TEXT(cAddres), NULL, NULL, 0,
                                        INTERNET_FLAG_KEEP_CONNECTION, 1);
            if(hRequest != NULL)    {
                BOOL bSend;
                bSend = HttpSendRequest(hRequest, NULL, 0, NULL, 0);
                if(bSend)    {
                    char cBuffer[iSizeBuffer];
                    DWORD dwBytesRead;
                    BOOL bRead;
                    bRead = InternetReadFile(hRequest, cBuffer, iSizeBuffer-1, &dwBytesRead);
                    if(bRead && dwBytesRead > 0)    {
                        printf("Data has been read!");
                        FILE* pFile;
                        pFile = fopen("test.txt", "w");
                        fputs(cBuffer, pFile);
                        fclose(pFile);
                    }
                    else    {
                        printf("Data cannot be read");
                    }
                }
                else    {
                    printf("Unable to send request");
                }
                InternetCloseHandle(hRequest);
            }
            else    {
                printf("Unable to open http request");
            }
            InternetCloseHandle(hConnection);
        }
        else    {
            printf("Unable to open internet connection");
        }
        InternetCloseHandle(hInternetSession);
    }
    else    {
        printf("Cannot open internet");
    }
    
    system("PAUSE");
    return 0;
}
Выскакивает множество ошибок:
Кликните здесь для просмотра всего текста
1>c:\program files\microsoft sdks\windows\v6.0a\include\wininet.h(58) : error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "HINTERNET"
1>c:\program files\microsoft sdks\windows\v6.0a\include\wininet.h(58) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>c:\program files\microsoft sdks\windows\v6.0a\include\wininet.h(58) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>c:\program files\microsoft sdks\windows\v6.0a\include\wininet.h(59) : error C2143: синтаксическая ошибка: отсутствие ";" перед "*"
1>c:\program files\microsoft sdks\windows\v6.0a\include\wininet.h(59) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>c:\program files\microsoft sdks\windows\v6.0a\include\wininet.h(59) : error C2378: HINTERNET: переопределение; символ нельзя перегрузить typedef
1> c:\program files\microsoft sdks\windows\v6.0a\include\wininet.h(58): см. объявление 'HINTERNET'
1>c:\program files\microsoft sdks\windows\v6.0a\include\wininet.h(59) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию

Вот на эти две строчки:
C++
1
2
typedef LPVOID HINTERNET;
typedef HINTERNET * LPHINTERNET;
Не видно типа LPVOID, для этого нужно еще что то подключить или что тут происходит?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2008, 23:52
Ответы с готовыми решениями:

Не могу скомпилировать
#include &lt;iostream&gt; using namespace std; int main() { double ctemp,ftemp; ...

Не могу скомпилировать приложение Windows Forms на VC++
На днях создал проект в Microsoft Visual C++ Express 2010. (Зарегался в...

Нужно разобраться в программе, Не могу скомпилировать
Скажу честно - заказал программу, для сдачи в вузе. Теперь не могу в ней...

Не могу скомпилировать сорс с github
Скачал отсюда https://github.com/AmirAfendin/SPM исходник, но скомпилировать...

Скомпилировать dll
Здравствуйте, нашел эксплоит, не могу скомпилировать в dll, написанно что надо...

4
Sender Ghost
9 / 9 / 3
Регистрация: 17.05.2008
Сообщений: 12
09.12.2008, 01:08 2
Цитата Сообщение от katrisha Посмотреть сообщение
Не видно типа LPVOID, для этого нужно еще что то подключить или что тут происходит?
Подключите заголовочный файл windows.h
Код
#include <windows.h>
Закомментируйте:
Код
//using namespace std;
В свойствах проекта, в разделе "Linker->Input->Additional Dependencies" добавте WinInet.lib.
1
Вложения
Тип файла: rar WinInet.rar (31.7 Кб, 78 просмотров)
katrisha
10 / 10 / 0
Регистрация: 14.11.2008
Сообщений: 56
09.12.2008, 12:59  [ТС] 3
Еще ругается на две строчки
Код
1>c:\sdk\v2\help1\inet1\inet1\inet1.cpp(22) : error C2065: LcServer: необъявленный идентификатор
1>c:\sdk\v2\help1\inet1\inet1\inet1.cpp(26) : error C2065: LcAddres: необъявленный идентификатор
Как это исправить? Подскажите пожалуйста
0
Sender Ghost
9 / 9 / 3
Регистрация: 17.05.2008
Сообщений: 12
09.12.2008, 16:36 4
Цитата Сообщение от katrisha Посмотреть сообщение
Еще ругается на две строчки
Код
1>c:\sdk\v2\help1\inet1\inet1\inet1.cpp(22) : error C2065: LcServer: необъявленный идентификатор
1>c:\sdk\v2\help1\inet1\inet1\inet1.cpp(26) : error C2065: LcAddres: необъявленный идентификатор
Как это исправить? Подскажите пожалуйста
Это из-за настроек проекта (и последовательности включения директорий в Visual Studio 2008).
Попробуйте зайти через консоль Visual Studio 2008 Command Prompt из меню Пуск. Переместитесь в директорию с исходным текстом программы (например, у вас она называется inet1.cpp) с помощью команды: cd c:\sdk\v2\help1\inet1\inet1. И выполните следующий командный файл compile.bat:
Код
IF NOT EXIST Release (md Release)

cl.exe -nologo -W3 -GR -c -EHsc -MT -O1 -GS- -Gy -Fd"Release\inet1.pdb" -Tp"inet1.cpp" -Fo"Release\inet1.obj"

link.exe -nologo -machine:I386 -pdb:"Release\inet1.pdb" -out:"Release\inet1.exe" -incremental:no -release -OPT:REF,ICF -subsystem:console "Release\inet1.obj" WinInet.lib
В директории Release появится исполнимый файл inet1.exe.

Также можно закомментировать:
Код
//#include "stdafx.h"
0
katrisha
10 / 10 / 0
Регистрация: 14.11.2008
Сообщений: 56
09.12.2008, 17:44  [ТС] 5
Цитата Сообщение от Sender Ghost Посмотреть сообщение
Это из-за настроек проекта (и последовательности включения директорий в Visual Studio 2008).
Попробуйте зайти через консоль Visual Studio 2008 Command Prompt из меню Пуск. Переместитесь в директорию с исходным текстом программы (например, у вас она называется inet1.cpp) с помощью команды: cd c:\sdk\v2\help1\inet1\inet1. И выполните следующий командный файл compile.bat:
Код
IF NOT EXIST Release (md Release)

cl.exe -nologo -W3 -GR -c -EHsc -MT -O1 -GS- -Gy -Fd"Release\inet1.pdb" -Tp"inet1.cpp" -Fo"Release\inet1.obj"

link.exe -nologo -machine:I386 -pdb:"Release\inet1.pdb" -out:"Release\inet1.exe" -incremental:no -release -OPT:REF,ICF -subsystem:console "Release\inet1.obj" WinInet.lib
В директории Release появится исполнимый файл inet1.exe.
Вот это работает, спасибо, но хотелось бы чтобы студия сама компилировала.
Также можно закомментировать:
Код
//#include "stdafx.h"
Вот на это она пишет что надо бы подключить его
Код
1>c:\sdk\v5_inet\inetik\inetik\inetik.cpp(5) : warning C4627: #include <windows.h>: пропущен при поиске использования предкомпилированного заголовка
1>        Добавление директивы в "stdafx.h" или перестройка предкомпилированного заголовка
1>c:\sdk\v5_inet\inetik\inetik\inetik.cpp(6) : warning C4627: #include <wininet.h>: пропущен при поиске использования предкомпилированного заголовка
1>        Добавление директивы в "stdafx.h" или перестройка предкомпилированного заголовка
1>c:\sdk\v5_inet\inetik\inetik\inetik.cpp(65) : fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "stdafx.h"" в источник.
0
09.12.2008, 17:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2008, 17:44

Скомпилировать код
Есть код, из курсача какого то студента, связь с которым потерянна....

Как скомпилировать приложение?
понимаю что глупо, но найти не могу , на какие кнопки скомпилировать ? ...

Как скомпилировать PCRE?
Здравствуйте! Хочу скомпилировать PCRE v1 (8.40). Где найти нужную версию...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru