Hi, still can’t get the copter working. I did find a fix for the C2670 error though. Any thoughts appreciated.
Win 10 Home
Unity 2018.2.15f1
VS Community 2017 15.8.9
SDK 8.1
Unity/build.cmd Build fails with:
windows kits8.1includeumcombaseapi.h(229): error C2760: syntax error: unexpected token ‘identifier’, expected ‘type specifier’
Fix suggested here:
https://developercommunity.visualstudio.com/content/problem/185399/error-c2760-in-combaseapih-with-windows-sdk-81-and.html
1: Open (make backup first of course) C:Program Files (x86)Windows Kits8.1Includeumcombaseapi.h
2: Add struct IUnknown; // Workaround for «combaseapi.h(229): error C2187: syntax error: ‘identifier’ was unexpected here» when using /permissive-
3: Put this line at top of file above includes
4: Rebuild
5: Build succeeds but with warning:
Build succeeded.
«..PathAirSimUnityAirLibWrapperAirsimWrapper.sln» (Clean;Build target) (1) ->
«..PathAirSimUnityAirLibWrapperAirsimWrapperAirsimWrapper.vcxproj.metaproj» (default ta
rget) (2:2) ->
«..PathAirSimUnityAirLibWrapperAirsimWrapperAirsimWrapper.vcxproj» (default target) (5:
2) ->
(Link target) ->
LINK : warning LNK4075: ignoring ‘/INCREMENTAL’ due to ‘/LTCG’ specification [..PathAirSi
mUnityAirLibWrapperAirsimWrapperAirsimWrapper.vcxproj]
6: Run project SimModeSelector Unity Project Warning:
Cannot read settings file C:Program FilesUnityEditorsettings.json Vehicle=SimpleFlight
UnityEngine.Debug:LogError(Object)
AirSimUnity.Vehicle:PrintLogMessage(String, String, String, Int32) (at Assets/AirSimAssets/Scripts/Vehicles/Vehicle.cs:279)
AirSimUnity.VehicleCompanion:PrintLogMessage(String, String, String, Int32) (at Assets/AirSimAssets/Scripts/Vehicles/VehicleCompanion.cs:193)
7: Create settings.json file in Assets folder:
{
«SettingsVersion»: 1.2,
«SimMode»: «Multirotor»
}
8: Run Unity Project SimModeSelector. Copter does not respond to Page Up/Down & WASD
Car responds to WASD
Содержание
- Unity — Fix for Build Error C2760 in combaseapi.h — but still not working #1550
- Comments
- Библиотека GDI+ вызывает ошибку C2760: синтаксическая ошибка: неожиданный «идентификатор» токена, ожидаемый «описатель типа» в VS2017 при компиляции для XP
- Ответы (4)
- Библиотека GDI+ вызывает «ошибку C2760: синтаксическая ошибка: неожиданный токен» идентификатор «, ожидаемый» спецификатор типа «» в VS2017 при компиляции для XP
- 4 ответа
- Библиотека GDI + вызывает ошибку C2760: синтаксическая ошибка: неожиданный токен «идентификатор», ожидаемый «спецификатор типа» »в VS2017 при компиляции для XP
- Как создать проект C++, отличный от MFC, со статической привязкой к библиотекам времени выполнения VC?
Unity — Fix for Build Error C2760 in combaseapi.h — but still not working #1550
Hi, still can’t get the copter working. I did find a fix for the C2670 error though. Any thoughts appreciated.
Win 10 Home
Unity 2018.2.15f1
VS Community 2017 15.8.9
SDK 8.1
Unity/build.cmd Build fails with:
windows kits8.1includeumcombaseapi.h(229): error C2760: syntax error: unexpected token ‘identifier’, expected ‘type specifier’
1: Open (make backup first of course) C:Program Files (x86)Windows Kits8.1Includeumcombaseapi.h
2: Add struct IUnknown; // Workaround for «combaseapi.h(229): error C2187: syntax error: ‘identifier’ was unexpected here» when using /permissive-
3: Put this line at top of file above includes
4: Rebuild
5: Build succeeds but with warning:
«..PathAirSimUnityAirLibWrapperAirsimWrapper.sln» (Clean;Build target) (1) ->
«..PathAirSimUnityAirLibWrapperAirsimWrapperAirsimWrapper.vcxproj.metaproj» (default ta
rget) (2:2) ->
«..PathAirSimUnityAirLibWrapperAirsimWrapperAirsimWrapper.vcxproj» (default target) (5:
2) ->
(Link target) ->
LINK : warning LNK4075: ignoring ‘/INCREMENTAL’ due to ‘/LTCG’ specification [..PathAirSi
mUnityAirLibWrapperAirsimWrapperAirsimWrapper.vcxproj]
6: Run project SimModeSelector Unity Project Warning:
Cannot read settings file C:Program FilesUnityEditorsettings.json Vehicle=SimpleFlight
UnityEngine.Debug:LogError(Object)
AirSimUnity.Vehicle:PrintLogMessage(String, String, String, Int32) (at Assets/AirSimAssets/Scripts/Vehicles/Vehicle.cs:279)
AirSimUnity.VehicleCompanion:PrintLogMessage(String, String, String, Int32) (at Assets/AirSimAssets/Scripts/Vehicles/VehicleCompanion.cs:193)
7: Create settings.json file in Assets folder:
<
«SettingsVersion»: 1.2,
«SimMode»: «Multirotor»
>
8: Run Unity Project SimModeSelector. Copter does not respond to Page Up/Down & WASD
Car responds to WASD
The text was updated successfully, but these errors were encountered:
Источник
Библиотека GDI+ вызывает ошибку C2760: синтаксическая ошибка: неожиданный «идентификатор» токена, ожидаемый «описатель типа» в VS2017 при компиляции для XP
Я пытаюсь включить следующие определения для GDI+ в свой проект Win32 C++, скомпилированный в Visual Studio 2017:
Мне нужно скомпилировать этот проект для поддержки Windows XP. Итак, в свойствах проекта я выбрал: Platform Toolset как Visual Studio 2017 — Windows XP (v141_xp) :
Но когда я компилирую его, библиотека GDI+ дает мне это:
Есть идеи, как это исправить?
Ответы (4)
Добавьте эту строку перед самым первым (!) #include заголовком, связанным с COM, чтобы исправить objbase.h(239): error C2760: syntax error: unexpected token ‘identifier’, expected ‘type specifier’ :
Это исправление работает, потому что строка в objbase.h(239) , упомянутая в ошибке, содержит static_cast (*pp); , несмотря на то, что IUnknown еще не был объявлен в этом месте.
Я как бы получил его для компиляции, но это определенно не очень хорошее решение. Я публикую это здесь в качестве временного обходного пути, пока Microsoft не вылезет из головы. Также, если кто-то найдет лучший способ, пожалуйста, дайте мне знать.
По сути, мне пришлось понизить весь проект до Visual Studio 2015 — Windows XP (v140_xp) только для того, чтобы скомпилировать одну плохо написанную библиотеку:
Это создало собственную проблему с библиотеками std :
Поэтому мне пришлось шунтировать эти ошибки небезопасных функций:
Что далеко от идеала!
(По сути, вы жертвуете безопасностью приложения только для того, чтобы скомпилировать эту чертову библиотеку GDI+.)
Есть способ заставить это работать, если вы готовы редактировать заголовочные файлы Windows.
В objbase.h закомментируйте строку 239 или измените ее на:
В gdiplusheaders.h , строка 891, удалите лишний квалификатор ( Metafile:: ).
В gdiplusstringformat.h , строка 220, удалите лишний квалификатор ( StringFormat:: ).
Надеюсь, это исправит ситуацию для вас, ничего не сломав.
Хотя вопрос старый, просто добавляю то, что сработало для меня.
В моем случае включение windows.h и компиляция с набором инструментов VS2017 v141_xp вызывали у меня ошибку: синтаксическая ошибка: неожиданный «идентификатор» токена, ожидаемый «спецификатор типа».
Источник
Библиотека GDI+ вызывает «ошибку C2760: синтаксическая ошибка: неожиданный токен» идентификатор «, ожидаемый» спецификатор типа «» в VS2017 при компиляции для XP
Я пытаюсь включить следующие определения для GDI+ в мой проект Win32 C++, который скомпилирован в Visual Studio 2017:
Мне нужно скомпилировать этот проект для поддержки Windows XP. Поэтому в свойствах проекта я выбрал: Platform Toolset как Visual Studio 2017 — Windows XP (v141_xp) :
Но когда я компилирую это, библиотека GDI+ дает мне это:
Есть идеи как это исправить?
4 ответа
Добавьте эту строчку перед самым первым (!) #include заголовка, связанного с COM, чтобы исправить objbase.h(239): error C2760: syntax error: unexpected token ‘identifier’, expected ‘type specifier’ :
Это исправление работает, потому что строка в objbase.h(239) упомянутый в ошибке содержит static_cast (*pp); несмотря на то, что IUnknown до сих пор не объявлен в этом месте.
Я вроде получил его для компиляции, но это определенно не хорошее решение. Я опубликую его здесь как временное решение, пока Microsoft не избавится от своих ___ идей. Также, если кто-нибудь найдет лучший способ, пожалуйста, дайте мне знать.
Я в основном должен был понизить весь проект до Visual Studio 2015 — Windows XP (v140_xp) просто скомпилировать одну плохо написанную библиотеку:
Это создало собственную проблему с std библиотеки:
Таким образом, я должен был избежать ошибок небезопасных функций:
Что далеко от идеала!
(Вы в основном жертвуете безопасностью приложения, просто чтобы скомпилировать эту чертову библиотеку GDI+.)
Есть способ заставить это работать, если вы готовы редактировать заголовочные файлы Windows.
В objbase.h закомментируйте строку 239 или измените ее на:
В gdiplusheaders.h , строка 891, удалите лишний квалификатор ( Metafile:: ).
В gdiplusstringformat.h , строка 220, удалите лишний классификатор ( StringFormat:: ).
Надеюсь, это исправит ситуацию, не сломав ничего.
Хотя вопрос старый, просто добавляю то, что сработало для меня.
В моем случае включение windows.h и компиляция с набором инструментов VS2017 v141_xp вызывали у меня ошибку: синтаксическая ошибка: неожиданный «идентификатор» токена, ожидаемый «описатель типа».
Источник
Библиотека GDI + вызывает ошибку C2760: синтаксическая ошибка: неожиданный токен «идентификатор», ожидаемый «спецификатор типа» »в VS2017 при компиляции для XP
Я пытаюсь включить следующие определения для GDI + в свой проект Win32 C ++, который скомпилирован в Visual Studio 2017:
Мне нужно скомпилировать этот проект для поддержки Windows XP. Итак, в выбранном мной проекте свойства: Platform Toolset как Visual Studio 2017 — Windows XP (v141_xp) :
Но когда я его компилирую, библиотека GDI + дает мне следующее:
Есть идеи, как это исправить?
Добавьте эту строку перед самым первым (!) #include Заголовком, связанным с COM, чтобы исправить objbase.h(239): error C2760: syntax error: unexpected token ‘identifier’, expected ‘type specifier’ :
Это исправление работает, потому что строка, objbase.h(239) упомянутая в ошибке, содержит, static_cast (*pp); несмотря на то, что IUnknown еще не был объявлен в этом месте.
Мне удалось его скомпилировать, но это определенно не лучшее решение. Я публикую это здесь как временный обходной путь, пока Microsoft не избавится от своих ___es. Также, если кто-нибудь найдет способ получше, дайте мне знать.
Мне в основном пришлось понизить версию всего проекта, чтобы Visual Studio 2015 — Windows XP (v140_xp) просто скомпилировать одну плохо написанную библиотеку:
Это создало собственную проблему с std библиотеками:
Поэтому мне пришлось устранить эти ошибки небезопасных функций:
Что далеко не идеально!
(По сути, вы жертвуете безопасностью приложения только для того, чтобы скомпилировать эту чертову библиотеку GDI +.)
Источник
Как создать проект C++, отличный от MFC, со статической привязкой к библиотекам времени выполнения VC?
Я знаю, что для проекта MFC, созданного с помощью Visual Studio, можно перейти в свойства проекта, а затем Configuration Properties -> General -> use of MFC и изменить его на Use MFC in a static library :
Это работает, если полученная сборка должна запускаться в более ранних версиях Windows без необходимости установки DLL времени выполнения MFC или VC. Полученная сборка будет использовать библиотеки DLL, которые уже присутствуют в каждой установке Windows, начиная с Windows 7 и выше. (Возможно, даже до Windows XP.)
Теперь, если я создаю проект без MFC, скажем, тестовое консольное приложение C++, параметр для использования MFC настроен как «Использовать стандартные библиотеки Windows»:
Но если я запустил полученный двоичный файл, скажем, при новой установке Windows 7, я получаю такую ошибку:
Итак, покопавшись в настройках, я не смог найти способ скомпилировать его со статической привязкой ко всем этим новым версиям библиотек VC RT. Он есть, а я его просто не вижу?
PS. Покопавшись дальше, я обнаружил, что могу изменить «Platform Toolset» на Visual Studio 2017 — Windows XP (v141_xp) , предполагая, что это сделает его обратно совместимым с Windows XP и выше:
Но затем, если я его скомпилирую, я получаю следующие ошибки:
В этой части файла ObjBase.h , который не имеет ничего общего с моим тестовым консольным проектом C++, который я только что создал из шаблона Visual Studio:
Итак, мой вопрос: могу ли я создать проект на C++, отличный от MFC, который может работать в более старых версиях Windows без необходимости установки VC Runtime или каких-либо других дополнительных библиотек?
Источник
- Remove From My Forums
-
Question
-
Hi All,
I’m trying to use this piece of code in a Windows C++ lib project. This is working in a Windows C++ desktop project without problems (clean instance of a new Desktop project, no extra additions) but in a Windows lib or Windows command line
project (also clean projects) I get this C3861 error.The Intellisense in VS 2017 is finding all definition pieces correctly, the GUID, the HRESULT and the CoCreateGuid() function.
But compiling is not possible.
Any ideas? Thanks in advance.
#include <combaseapi.h>
GUID objGuid;
HRESULT result = CoCreateGuid(&objGuid);
Answers
-
I cannot reproduce it in a Console project with VS 2015
I use
#include <Objbase.h>
which declares CoCreateGuid in
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
-
Marked as answer by
Monday, November 5, 2018 7:05 PM
-
Marked as answer by
-
Hi,
Thanks for posting here.
>>C2760: syntax error: unexpected token ‘identifier’, expected ‘type specifier’
I reproduce your issue, when I set the Windows SDK version as 8.1, I get the error:
c:program files (x86)windows kits8.1includeumcombaseapi.h(229): error C2760: syntax error: unexpected token ‘identifier’, expected ‘type specifier’
but it works fine in both console project and static library project when I set the Windows SDK version as
10.0.15063.0 or 10.0.17134.0.Does this error goes away when removing the /premissive- compiler flag? If so, I suggest you refer to this
blog and issue.
Or I think maybe you could try to use high Windows SDK version.
Hope these will help you.
Best Wishes,
Jack Zhang
MSDN Community Support Please remember to click «Mark as Answer» the responses that resolved your issue, and to click «Unmark as Answer» if not. This can be beneficial to other community members reading this thread. If you have any compliments
or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.-
Edited by
Jack Zhang — AAA
Monday, November 5, 2018 2:38 AM -
Marked as answer by
Paul Live
Monday, November 5, 2018 7:05 PM
-
Edited by
@TOCПодскажите при компиляции exosip:
combaseapi.h (229): ошибка C2760: синтаксическая ошибка: непредвиденный «идентификатор» токена, ожидаемый токен — «спецификатор типа»
Решение:
Откройте проект проекта -> Свойства -> c / c ++ -> Голос -> Режим соответствия и измените его на Нет
С функцией sleep () есть много ошибок. В режиме сна первая буква в Windows должна начинаться с заглавной.
Добро пожаловать в редактор Markdown
Привет! Вы впервые используетеРедактор Markdown Отображается страница приветствия. Если вы хотите узнать, как использовать редактор Markdown, вы можете внимательно прочитать эту статью, чтобы узнать об основном синтаксисе Markdown.
Новое изменение
Мы выполнили некоторые расширения функций и поддержку грамматики в редакторе Markdown. В дополнение к стандартным функциям редактора Markdown мы добавили следующие новые функции, которые помогут вам использовать его в блогах:
- Совершенно новый дизайн интерфейса , Принесет новый опыт письма;
- Установите свой любимый стиль выделения кода в центре создания, MarkdownОтобразить выбранный стиль выделения фрагмента кода Дисплей
- вырос Перетаскивание изображения Функция, вы можете напрямую перетащить локальное изображение в область редактирования для прямого отображения;
- Совершенно новыйМатематическая формула KaTeX грамматика;
- Добавлена поддержкаСинтаксис русалки диаграммы Ганта1 Характеристики;
- вырос Мультиэкранное редактирование Функция Markdown article;
- вырос Режим фокусировки записи, режим предварительного просмотра, режим краткого письма, синхронные настройки колеса прокрутки для левой и правой областей Функциональная кнопка расположена между областью редактирования и областью предварительного просмотра;
- вырос Контрольный список Характеристики.
Ярлык функции
Изымать:Ctrl/Command + Z
Повторить:Ctrl/Command + Y
Полужирный:Ctrl/Command + B
Курсив:Ctrl/Command + I
Заголовок:Ctrl/Command + Shift + H
Неупорядоченный список:Ctrl/Command + Shift + U
Упорядоченный список:Ctrl/Command + Shift + O
Контрольный список:Ctrl/Command + Shift + C
Вставьте код:Ctrl/Command + Shift + K
Вставить ссылку:Ctrl/Command + Shift + L
Вставить картинку:Ctrl/Command + Shift + G
Разумное создание названия поможет формированию каталога.
Введите сразу один раз#И нажмитеspaceПосле этого будет сгенерирован заголовок уровня 1.
Введите 2 раза#И нажмитеspaceПосле этого будут сгенерированы заголовки уровня 2.
и т. д., мы поддерживаем заголовки уровня 6. Помогите использоватьTOC
После грамматики создается идеальный каталог.
Как изменить стиль текста
Выделенный текст Выделенный текст
Жирный текст Жирный текст
Текст разметки
Удалить текст
Цитируемый текст
H2O жидкий.
210 Результат операции — 1024.
Вставить ссылку и изображение
Ссылка на сайт:link.
Картина:
Картинка с размерами:
Изображение по центру:
Центрированные и размерные изображения:
Конечно, чтобы было удобнее для пользователей, мы добавили функцию перетаскивания изображений.
Как вставить красивый фрагмент кода
идти сНастройки блогаСтраница, выберите стиль выделения фрагментов кода, который вам нравится, такое же выделение показано нижеЧасть кода
.
// An highlighted block
var foo = 'bar';
Составьте список, который вам подходит
- Проект
- Проект
- проект
- Проект
- Пункт 1
- Пункт 2
- Пункт 3
- Дела по расписанию
- Миссия выполнена
Создать таблицу
Простая таблица создается так:
проект | Value |
---|---|
компьютер | $1600 |
Сотовый телефон | $12 |
катетер | $1 |
Содержание настройки по центру, слева, справа
использовать:---------:
По центру
использовать:----------
Налево
использовать----------:
Правильно
Первый ряд | Второй столбец | Третий столбец |
---|---|---|
Первый столбец текста центрируется | Второй столбец текста справа | Остался третий столбец текста |
SmartyPants
SmartyPants преобразует знаки препинания ASCII в «умные» печатные знаки пунктуации HTML. Например:
TYPE | ASCII | HTML |
---|---|---|
Single backticks | 'Isn't this fun?' |
‘Isn’t this fun?’ |
Quotes | "Isn't this fun?" |
“Isn’t this fun?” |
Dashes | -- is en-dash, --- is em-dash |
– is en-dash, — is em-dash |
Создайте собственный список
- Markdown
- Text-to-HTML conversion tool
- Authors
- John
- Luke
Как создать сноску
Текст со сносками.2
Комментарии также необходимы
Markdown преобразует текст вHTML。
Математическая формула KaTeX
Вы можете отображать математические выражения LaTeX, используяKaTeX:
Отображение формулы гаммы
Γ
(
n
)
=
(
n
−
1
)
!
∀
n
∈
N
Gamma(n) = (n-1)!quadforall ninmathbb N
Проходит через интеграцию Эйлера
Γ
(
z
)
=
∫
0
∞
t
z
−
1
e
−
t
d
t
 
.
Gamma(z) = int_0^infty t^{z-1}e^{-t}dt,.
Вы можете найти дополнительную информацию оLaTeX Математическое выражениеhere.
Новая функция диаграммы Ганта для обогащения ваших статей
Mon 06
Mon 13
Mon 20
завершено
обработка
План один
План второй
Существующая задача
Adding GANTT diagram functionality to mermaid
- ОколоДиаграмма Ганта Грамматический справочникВот,
Диаграмма UML
Для визуализации можно использовать диаграммы UML.MermaidНапример, диаграмма последовательности сгенерирована следующим образом:
Чжан Сан
Ли Си
Ван Ву
Привет! Ли Си, как твои дела?
Как дела, Ван Ву?
Я в порядке, спасибо!
Я в порядке, спасибо!
Ли Си долго думал,
Текст слишком длинный
Не влезает в одну строчку.
Глядя на Ван У …
Очень хорошо … Ван Ву, как ты?
Чжан Сан
Ли Си
Ван Ву
Это создаст блок-схему. :
ссылка на сайт
прямоугольник
круглый
Прямоугольник с закругленными углами
алмаз
- ОколоMermaid Грамматический справочникВот,
Блок-схема блок-схемы
Мы по-прежнему будем поддерживать блок-схему блок-схемы:
Created with Raphaël 2.2.0
Начало
Моя операция
подтвердить?
Конец
yes
no
- ОколоБлок-схема блок-схемы Грамматический справочникВот.
Экспорт и импорт
Экспорт
Если вы хотите попробовать этот редактор, вы можете редактировать эту статью по своему желанию. Когда вы закончите писать статью, найдите ее на верхней панели инструментов.Экспорт статьи , Создайте файл .md или .html для локального сохранения.
Импортировать
Если вы хотите загрузить файл .md или .html, который вы написали, вы можете выбрать функцию импорта на верхней панели инструментов, чтобы импортировать файл с соответствующим расширением.
Продолжайте создание.
-
описание синтаксиса русалки ↩︎
-
Пояснение к сноске↩︎
I’m trying to include the following definitions for GDI+ into my Win32 C++ project that is compiled under Visual Studio 2017:
#include <objidl.h>
#include <gdiplus.h>
#pragma comment (lib,"Gdiplus.lib")
I need to compile this project to support Windows XP. So in the project properies I selected: Platform Toolset
as Visual Studio 2017 - Windows XP (v141_xp)
:
But when I compile it the GDI+ library gives me this:
1>c:program files (x86)microsoft sdkswindowsv7.1aincludeobjbase.h(239): error C2760: syntax error: unexpected token 'identifier', expected 'type specifier'
1>c:program files (x86)microsoft sdkswindowsv7.1aincludegdiplusheaders.h(891): error C4596: 'EmfToWmfBits': illegal qualified name in member declaration
1>c:program files (x86)microsoft sdkswindowsv7.1aincludegdiplusstringformat.h(220): error C4596: 'GetTrimming': illegal qualified name in member declaration
Any idea how to fix this?
asked Jul 12, 2019 at 22:41
1
Add this line before the very first(!) #include
of COM-related header to fix objbase.h(239): error C2760: syntax error: unexpected token 'identifier', expected 'type specifier'
:
typedef struct IUnknown IUnknown;
This fix works, because the line in objbase.h(239)
mentioned in the error contains static_cast<IUnknown*>(*pp);
despite that IUnknown still haven’t been declared in that place.
answered Jun 12, 2020 at 17:31
Кое КтоКое Кто
4275 silver badges8 bronze badges
I kinda got it to compile, but this is definitely not a good solution. I’m posting it here as a temp workaround until Microsoft gets their heads out of their ___es. Also if anyone finds a better way, please let me know.
I basically had to downgrade the entire project to Visual Studio 2015 - Windows XP (v140_xp)
just to compile one badly written library:
This created a problem of its own with the std
libraries:
1>C:Program Files (x86)Microsoft Visual Studio 14.0VCincludecstdio(50): error C4995: 'sprintf': name was marked as #pragma deprecated
1>C:Program Files (x86)Microsoft Visual Studio 14.0VCincludecstdio(53): error C4995: 'vsprintf': name was marked as #pragma deprecated
1>C:Program Files (x86)Microsoft Visual Studio 14.0VCincludecstring(20): error C4995: 'strcat': name was marked as #pragma deprecated
1>C:Program Files (x86)Microsoft Visual Studio 14.0VCincludecstring(21): error C4995: 'strcpy': name was marked as #pragma deprecated
1>C:Program Files (x86)Microsoft Visual Studio 14.0VCincludecwchar(29): error C4995: 'swprintf': name was marked as #pragma deprecated
1>C:Program Files (x86)Microsoft Visual Studio 14.0VCincludecwchar(30): error C4995: 'vswprintf': name was marked as #pragma deprecated
1>C:Program Files (x86)Microsoft Visual Studio 14.0VCincludecwchar(32): error C4995: 'wcscat': name was marked as #pragma deprecated
1>C:Program Files (x86)Microsoft Visual Studio 14.0VCincludecwchar(34): error C4995: 'wcscpy': name was marked as #pragma deprecated
So I had to shunt those errors of unsafe functions:
#pragma warning( push )
#pragma warning( disable: 4995 )
#include <stdio.h>
#include <new>
#include <string>
#pragma warning( pop )
Which is far from ideal!
(You’re basically sacrificing security of the app just to compile that damn GDI+ library.)
answered Jul 13, 2019 at 20:57
c00000fdc00000fd
20.2k23 gold badges168 silver badges385 bronze badges
1
There’s a way to get this to work if you’re prepared to edit the Windows header files.
In objbase.h
, comment out line 239 or change it to:
static_assert (std::is_base_of <IUnknown *, *pp>::value, "pp must derive from IUnknown");
In gdiplusheaders.h
, line 891, remove the redundant qualifier (Metafile::
).
In gdiplusstringformat.h
, line 220, remove the redundant qualifier (StringFormat::
).
Hopefully, that will fix things for you without breaking anything.
answered Jul 13, 2019 at 23:23
Paul SandersPaul Sanders
22.9k4 gold badges25 silver badges48 bronze badges
1
Although the question is old, just adding what worked for me.
In my case including windows.h and compiling with VS2017 v141_xp toolset was causing me error: syntax error: unexpected token ‘identifier’, expected ‘type specifier’.
This resolved my issue link
answered Jul 15, 2021 at 15:43
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
Edit: I managed to figure out the error. Didn’t check the d3d11.lib spelling, I used ll instead of 11…
I’ve been following a tutorial on getting a DirectX11 (www.directxtutorial.com) and when trying to execute the code I keep getting the error
syntax error: unexpected token 'identifier', expected 'type specifier' - combaseapi.h - Line 229
And that’s building the project on Windows SDK Version 8.1
When running on Windows SDK 10.0.16299.0, I get the error 'cannot open file d3d11.lib'
Both versions are running on 32-bit, even running on 64-bit, I get the errors too.
There’s no error in the code that’s shown.
|
|
holdem_ 0 / 0 / 0 Регистрация: 27.10.2018 Сообщений: 21 |
||||||||||||
1 |
||||||||||||
04.05.2019, 22:41. Показов 6992. Ответов 12 Метки ООП, шаблоны (Все метки)
При компиляции выдает ошибку : Ошибка C2760 синтаксическая ошибка: ожидался токен «спецификатор типа», а не «идентификатор» .
__________________
0 |
143 / 92 / 34 Регистрация: 30.01.2018 Сообщений: 467 |
|
04.05.2019, 22:44 |
2 |
В какой строке ошибка, а то просматривать весь код очень муторно
0 |
0 / 0 / 0 Регистрация: 27.10.2018 Сообщений: 21 |
|
04.05.2019, 22:49 [ТС] |
3 |
в 69 строке Добавлено через 51 секунду Добавлено через 48 секунд
0 |
143 / 92 / 34 Регистрация: 30.01.2018 Сообщений: 467 |
|
04.05.2019, 22:52 |
4 |
m_iArr = new init.T*[size_row]; Что такое init.T?
1 |
0 / 0 / 0 Регистрация: 27.10.2018 Сообщений: 21 |
|
04.05.2019, 23:02 [ТС] |
5 |
Что такое init.T? Да , просто T должно быть Добавлено через 2 минуты
Что такое init.T? Но когда делаю просто T , появляется
0 |
143 / 92 / 34 Регистрация: 30.01.2018 Сообщений: 467 |
|
04.05.2019, 23:04 |
6 |
Как у тебя сейчас 69 строка выглядит?
0 |
holdem_ 0 / 0 / 0 Регистрация: 27.10.2018 Сообщений: 21 |
||||
04.05.2019, 23:13 [ТС] |
7 |
|||
0 |
Pashka Durov 143 / 92 / 34 Регистрация: 30.01.2018 Сообщений: 467 |
||||
04.05.2019, 23:20 |
8 |
|||
Попробуй так
Но не гарантирую
0 |
holdem_ 0 / 0 / 0 Регистрация: 27.10.2018 Сообщений: 21 |
||||
05.05.2019, 11:52 [ТС] |
9 |
|||
Попробуй так
Но не гарантирую На 69 строку перестало ругаться , но всеравно есть ошибка в 72 строке : Добавлено через 1 минуту
0 |
5695 / 3134 / 1306 Регистрация: 07.02.2019 Сообщений: 7,875 |
|
05.05.2019, 11:56 |
10 |
holdem_, Просто скопируй цикл из строк 25-28.
0 |
0 / 0 / 0 Регистрация: 27.10.2018 Сообщений: 21 |
|
05.05.2019, 12:00 [ТС] |
11 |
holdem_, Просто скопируй цикл из строк 25-28. На эти строки тоже ругается .
0 |
zayats80888 5695 / 3134 / 1306 Регистрация: 07.02.2019 Сообщений: 7,875 |
||||
05.05.2019, 12:16 |
12 |
|||
На эти строки тоже ругается Матом? Добавлено через 11 минут
0 |
holdem_ 0 / 0 / 0 Регистрация: 27.10.2018 Сообщений: 21 |
||||
05.05.2019, 12:57 [ТС] |
13 |
|||
Матом? Добавлено через 11 минут
Все решил проблему — действительно не нужно реализовывать шаблонные классы по разным файлам . Всем спасибо за ответы
0 |