powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Борьба с _WIN32_WINNT.
18 сообщений из 18, страница 1 из 1
Борьба с _WIN32_WINNT.
    #34901645
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пришлось опять кроссплатформить на буржуйсткую ось...

Возник вопрос. Под сабжевой диретивой сидит функция, которая мне нужна. Пробовал создаватьс в msvc8 разные типы приложений, даже с precompiled headers. По фигу - директива не появляется. Посмотрел в инете советуют так:

Код: plaintext
1.
2.
3.
#ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later.
#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows.
#endif 

Ну, там, или какая у меня версия. Теперь вопросы:

1) Это решение гуд?
2) Автоматом эта директива устанавливается только с икспей? И каким образом?
3) Может есть тип проекта, чтобы она подставлялась?
...
Рейтинг: 0 / 0
Борьба с _WIN32_WINNT.
    #34901746
Фотография cap83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а функция какая ?
...
Рейтинг: 0 / 0
Борьба с _WIN32_WINNT.
    #34901758
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cap83а функция какая ?

Не пойму, зачем надо, но пожалуйста:

Код: plaintext
1.
2.
3.
4.
5.
6.
WINBASEAPI
BOOL
WINAPI
TryEnterCriticalSection(
    __inout LPCRITICAL_SECTION lpCriticalSection
    );
...
Рейтинг: 0 / 0
Борьба с _WIN32_WINNT.
    #34901789
Фотография cap83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Этот макрос объявлен в SdkDdkver.h ... А самому написать #ifdef тоже гуд )
...
Рейтинг: 0 / 0
Борьба с _WIN32_WINNT.
    #34901814
Фотография cap83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ААА сори нет ее там сейчас ....
...
Рейтинг: 0 / 0
Борьба с _WIN32_WINNT.
    #34901818
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cap83Этот макрос объявлен в SdkDdkver.h ...

Где распологается этот файл?
...
Рейтинг: 0 / 0
Борьба с _WIN32_WINNT.
    #34901822
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cap83А самому написать #ifdef тоже гуд )

А если я буду потом проект из другой оси компилить?
...
Рейтинг: 0 / 0
Борьба с _WIN32_WINNT.
    #34901823
Фотография cap83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕЕ руками надо определять дефайном ... А автоматом WINVER генерится
...
Рейтинг: 0 / 0
Борьба с _WIN32_WINNT.
    #34901853
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cap83ЕЕ руками надо определять дефайном ... А автоматом WINVER генерится

Таааак... очень интересно. У меня WINVER такая какая должна быть _WIN32_WINNT. Есть ли какое соотеветствие между этими двумя директивами? Т.е. может из одной другую можно воспроизводить? Или это для определенных версий винды? Кстати, откуда она береться?
...
Рейтинг: 0 / 0
Борьба с _WIN32_WINNT.
    #34901856
Фотография cap83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты майк файлом собираешь ? Передавай через него параметр с платформой ... /D WIN32 или там /D чтонибудь а у себя в коде

Код: plaintext
1.
2.
3.
4.
5.
6.
#ifdef WIN32
#ifndef _WIN32_WINNT
#define _WIN32_WINNT (что надо)
#endif
#endif 


Чтото в таком роде напиши
...
Рейтинг: 0 / 0
Борьба с _WIN32_WINNT.
    #34901877
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cap83Ты майк файлом собираешь ? Передавай через него параметр с платформой ... /D WIN32 или там /D чтонибудь а у себя в коде

Код: plaintext
1.
2.
3.
4.
5.
6.
#ifdef WIN32
#ifndef _WIN32_WINNT
#define _WIN32_WINNT (что надо)
#endif
#endif 


Чтото в таком роде напиши

Да, без разницы чем я собираю. Проект компилю, и в настройках знаю, куда можно директивы добавить. Меня интересует, - можно ли это значение получать откуда-то (допустим WINVER), и надежен ли этот способ?

Или же эта директива и имеет свое предназначение - для верной компиляции, необходимо явно указывать версию винды.
...
Рейтинг: 0 / 0
Борьба с _WIN32_WINNT.
    #34901897
Фотография cap83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще компилятор не генерит никаких директив препроцессора ... Ты их должен либо в настройках проекта передать , либо файл заинклудить где она объявлена .... WINVER вот таким образом берется ...

#ifndef WINVER
#ifdef _WIN32_WINNT
// set WINVER based on _WIN32_WINNT
#define WINVER _WIN32_WINNT
#else
#define WINVER 0x0600
#endif
#endif
...
Рейтинг: 0 / 0
Борьба с _WIN32_WINNT.
    #34901966
Фотография cap83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точнее есть макросы которые по стандарту (ANSI) генерятся __DATE__ __FILE__ __LINE__ __STDC__ __TIME__ __TIMESTAMP__ Остальное уже от компилятора зависит вот ....
...
Рейтинг: 0 / 0
Борьба с _WIN32_WINNT.
    #34902114
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akh1) Это решение гуд?ну… я бы ставил в опциях проекта.

Akh2) Автоматом эта директива устанавливается только с икспей? И каким образом?как я понимаю, такие штуки не сильно зависят от среды выполнения компилятора.

Akh3) Может есть тип проекта, чтобы она подставлялась?боюсь, придётся ручками.
...
Рейтинг: 0 / 0
Борьба с _WIN32_WINNT.
    #34902165
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, cap83 и maXmo.
...
Рейтинг: 0 / 0
Борьба с _WIN32_WINNT.
    #34904322
Akh
Ну, там, или какая у меня версия.

Какая версия у тебя - неважно, это нужно, чтобы программа работала под операционной системой пользователя (как в комментарии и указано: "Change this to the appropriate value to TARGET other versions of Windows"). В разных версиях виндовса имеются разные системные библиотеки, в частности, Kernel32.dll. В одних версиях есть эта функция, в других - нет.
Akh
1) Это решение гуд?

Можно вставить объявление функции и руками, эти директивы сделаны для того, чтобы избежать ситуации, когда на целевой версии виндовс нет соотв. функции (см. выше).
Akh
3) Может есть тип проекта, чтобы она подставлялась?

Это надо делать руками в файле stdafx.h (о чем, впрочем, уже говорили).
...
Рейтинг: 0 / 0
Борьба с _WIN32_WINNT.
    #34904763
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Палло Akh
Ну, там, или какая у меня версия.

Какая версия у тебя - неважно, это нужно, чтобы программа работала под операционной системой пользователя (как в комментарии и указано: "Change this to the appropriate value to TARGET other versions of Windows").

Вот с этого то и надо было начинать!
...
Рейтинг: 0 / 0
Борьба с _WIN32_WINNT.
    #34905114
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну, я имел в виду именно кросс-компиляцию :)
maXmoкак я понимаю, такие штуки не сильно зависят от среды выполнения компилятора.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Борьба с _WIN32_WINNT.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]