Форум программистов, компьютерный форум, киберфорум
Boost C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/30: Рейтинг темы: голосов - 30, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 22.09.2012
Сообщений: 9

Boost в Visual c++ Windows Forms App

18.01.2013, 20:00. Показов 6118. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В VC подключаю директории инклуда и линков буста для проекта. В консольном проекте буст работает, а вот в проекте Windows Forms App, когда подключаю его ( к примеру в stdafx.h #include <boost/asio.hpp> ) вылетает куча ошибок, вот дамп:
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
/*
1>------ Build started: Project: left1, Configuration: Debug Win32 ------
1>Build started 18.01.2013 17:51:10.
1>InitializeBuildStatus:
1>  Touching "Debug\left1.unsuccessfulbuild".
1>GenerateTargetFrameworkMonikerAttribute:
1>Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output files are up-to-date with respect to the input files.
1>ClCompile:
1>  All outputs are up-to-date.
1>  left1.cpp
1>  Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately. For example:
1>  - add -D_WIN32_WINNT=0x0501 to the compiler command line; or
1>  - add _WIN32_WINNT=0x0501 to your project's Preprocessor Definitions.
1>  Assuming _WIN32_WINNT=0x0501 (i.e. Windows XP target).
1>C:\boost_1_52_0\boost/asio/detail/impl/win_thread.ipp(52): error C2664: 'QueueUserAPC' : cannot convert parameter 1 from 'void (__stdcall *)(ULONG_PTR)' to 'PAPCFUNC'
1>          Address of a function yields __clrcall calling convention in /clr:pure and /clr:safe; consider using __clrcall in target type
1>C:\boost_1_52_0\boost/asio/detail/impl/win_thread.ipp(82): error C2664: '_beginthreadex' : cannot convert parameter 3 from 'unsigned int (__stdcall *)(void *)' to 'unsigned int (__stdcall *)(void *)'
1>          Address of a function yields __clrcall calling convention in /clr:pure and /clr:safe; consider using __clrcall in target type
1>C:\boost_1_52_0\boost/asio/detail/win_thread.hpp(31): error C3641: 'boost::asio::detail::win_thread_function' : invalid calling convention '__stdcall ' for function compiled with /clr:pure or /clr:safe
1>C:\boost_1_52_0\boost/asio/detail/win_thread.hpp(36): error C3641: 'boost::asio::detail::apc_function' : invalid calling convention '__stdcall ' for function compiled with /clr:pure or /clr:safe
1>C:\boost_1_52_0\boost/asio/detail/win_fenced_block.hpp(43): error C3862: 'boost::asio::detail::win_fenced_block::win_fenced_block': cannot compile an unmanaged function with /clr:pure or /clr:safe
1>          Inline native assembly not supported in managed code
1>C:\boost_1_52_0\boost/asio/detail/win_fenced_block.hpp(43): error C3645: 'boost::asio::detail::win_fenced_block::win_fenced_block' : __clrcall cannot be used on functions compiled to native code
1>C:\boost_1_52_0\boost/asio/detail/win_fenced_block.hpp(62): error C3862: 'boost::asio::detail::win_fenced_block::~win_fenced_block': cannot compile an unmanaged function with /clr:pure or /clr:safe
1>          Inline native assembly not supported in managed code
1>C:\boost_1_52_0\boost/asio/detail/win_fenced_block.hpp(62): error C3645: 'boost::asio::detail::win_fenced_block::~win_fenced_block' : __clrcall cannot be used on functions compiled to native code
1>C:\boost_1_52_0\boost/detail/interlocked.hpp(99): warning C4164: '_InterlockedExchange' : intrinsic function not declared
1>C:\boost_1_52_0\boost/detail/interlocked.hpp(100): warning C4164: '_InterlockedExchangeAdd' : intrinsic function not declared
1>C:\boost_1_52_0\boost/smart_ptr/detail/spinlock_w32.hpp(62): error C3861: '_InterlockedExchange': identifier not found
1>C:\boost_1_52_0\boost/asio/detail/impl/signal_set_service.ipp(74): error C2039: 'signal' : is not a member of '`global namespace''
1>C:\boost_1_52_0\boost/asio/detail/impl/signal_set_service.ipp(74): error C3861: 'signal': identifier not found
1>C:\boost_1_52_0\boost/asio/detail/impl/signal_set_service.ipp(247): error C2039: 'signal' : is not a member of '`global namespace''
1>C:\boost_1_52_0\boost/asio/detail/impl/signal_set_service.ipp(247): error C3861: 'signal': identifier not found
1>C:\boost_1_52_0\boost/asio/detail/impl/signal_set_service.ipp(317): error C2039: 'signal' : is not a member of '`global namespace''
1>C:\boost_1_52_0\boost/asio/detail/impl/signal_set_service.ipp(317): error C3861: 'signal': identifier not found
1>C:\boost_1_52_0\boost/asio/detail/impl/signal_set_service.ipp(371): error C2039: 'signal' : is not a member of '`global namespace''
1>C:\boost_1_52_0\boost/asio/detail/impl/signal_set_service.ipp(371): error C3861: 'signal': identifier not found
1>C:\boost_1_52_0\boost/asio/detail/win_object_handle_service.hpp(157): error C3641: 'boost::asio::detail::win_object_handle_service::wait_callback' : invalid calling convention '__stdcall ' for function compiled with /clr:pure or /clr:safe
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:04.24
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
 
*/

пробовал добавить #define _WIN32_WINNT = 0x0501 в stdafx.h, пишет
boost/asio/detail/config.hpp(256): fatal error C1017: invalid integer constant expression

Windows7 x64, но когда собирал буст забыл указать что х64, и VC тоже для win32. может потому лезут ошибки?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.01.2013, 20:00
Ответы с готовыми решениями:

Использование Boost в Windows Forms
Здравствуйте, возникла необходимость использовать библиотеки boost в windows forms. Скачал, подключил, в консоли работают. В формах...

Возможно ли подключить Microsoft App Center в приложение Windows Forms?
Возможно ли подключить Microsoft Visual Studio App Center (https://appcenter.ms/) в приложение Windows Forms (net framework)? Там такая...

Вылетает boost::regex в windows forms, в консоли всё нормально
работаю с формой, подключаю &lt;boost/regex.hpp&gt;. Компиляция проходит без ошибок, но когда нажимаю f5 вылетает ошибка: &quot;Debug assertion...

13
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
18.01.2013, 21:23
Цитата Сообщение от mYSTERYK Посмотреть сообщение
boost/asio/detail/config.hpp(256): fatal error C1017: invalid integer constant expression
windows.h нужно подключать после хедеров boost-а

Попробуйте в чистом консольном приложении...
0
0 / 0 / 0
Регистрация: 22.09.2012
Сообщений: 9
18.01.2013, 21:49  [ТС]
Windows.h не подключал, но попробовал подключить в чистом stdafx.h и полезли новые ошибки(буст не подключал)
1>------ Build started: Project: mAgent, Configuration: Debug Win32 ------
1>Build started 18.01.2013 19:32:47.
1>InitializeBuildStatus:
1> Creating "Debug\mAgent.unsuccessfulbuild" because "AlwaysCreate" was specified.
1>GenerateTargetFrameworkMonikerAttribut e:
1>Skipping target "GenerateTargetFrameworkMonikerAttribute " because all output files are up-to-date with respect to the input files.
1>ClCompile:
1> stdafx.cpp
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\servprov.h(96 ): error C2872: 'IServiceProvider' : ambiguous symbol
1> could be 'c:\program files (x86)\microsoft sdks\windows\v7.0a\include\servprov.h(53 ) : System::IServiceProvider IServiceProvider'
1> or 'c:\program files (x86)\reference assemblies\microsoft\framework\.netframe work\v4.0\mscorlib.dll : System::IServiceProvider'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\servprov.h(96 ): error C3699: '*' : cannot use this indirection on type 'IServiceProvider'
1> compiler replacing '*' with '^' to continue parsing
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\servprov.h(10 3): error C2371: 'IServiceProvider' : redefinition; different basic types
1> c:\program files (x86)\microsoft sdks\windows\v7.0a\include\servprov.h(53 ) : see declaration of 'IServiceProvider'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\servprov.h(12 0): error C2872: 'IServiceProvider' : ambiguous symbol
1> could be 'c:\program files (x86)\microsoft sdks\windows\v7.0a\include\servprov.h(10 3) : IServiceProvider'
1> or 'c:\program files (x86)\reference assemblies\microsoft\framework\.netframe work\v4.0\mscorlib.dll : System::IServiceProvider'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\servprov.h(24 1): error C2872: 'IServiceProvider' : ambiguous symbol
1> could be 'c:\program files (x86)\microsoft sdks\windows\v7.0a\include\servprov.h(10 3) : IServiceProvider'
1> or 'c:\program files (x86)\reference assemblies\microsoft\framework\.netframe work\v4.0\mscorlib.dll : System::IServiceProvider'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\servprov.h(25 1): error C2872: 'IServiceProvider' : ambiguous symbol
1> could be 'c:\program files (x86)\microsoft sdks\windows\v7.0a\include\servprov.h(10 3) : IServiceProvider'
1> or 'c:\program files (x86)\reference assemblies\microsoft\framework\.netframe work\v4.0\mscorlib.dll : System::IServiceProvider'
1>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\urlmon.h(6459 ): error C2872: 'IServiceProvider' : ambiguous symbol
1> could be 'c:\program files (x86)\microsoft sdks\windows\v7.0a\include\servprov.h(10 3) : IServiceProvider'
1> or 'c:\program files (x86)\reference assemblies\microsoft\framework\.netframe work\v4.0\mscorlib.dll : System::IServiceProvider'
1>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\urlmon.h(6461 ): error C2872: 'IServiceProvider' : ambiguous symbol
1> could be 'c:\program files (x86)\microsoft sdks\windows\v7.0a\include\servprov.h(10 3) : IServiceProvider'
1> or 'c:\program files (x86)\reference assemblies\microsoft\framework\.netframe work\v4.0\mscorlib.dll : System::IServiceProvider'
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:01.17
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Добавлено через 14 минут
Windows.h работает, просто его перед using namespace нужно ставить
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
18.01.2013, 21:51
В чистом консольном вообще не подключайте windows.h( и stdafx.h тоже нафиг выкиньте) .он конфликтует с boost/asio
0
0 / 0 / 0
Регистрация: 22.09.2012
Сообщений: 9
18.01.2013, 21:52  [ТС]
Я в чисто консольном не подключаю, у меня Windows Forms App проект, и там уже windows.h работает
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
18.01.2013, 21:54
Мда печалька... говорЮ попробуйте подключить boost в чистом консольном сначала...
0
0 / 0 / 0
Регистрация: 22.09.2012
Сообщений: 9
18.01.2013, 21:55  [ТС]
В начале поста было написано что в Консольном буст работает
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
18.01.2013, 21:59
Цитата Сообщение от mYSTERYK Посмотреть сообщение
В начале поста было написано что в Консольном буст работает
Где ? трижды перепрочел посты не заметил ...

Еще раз -
Цитата Сообщение от Avazart Посмотреть сообщение
windows.h нужно подключать после хедеров boost-а
0
 Аватар для vbloodv
23 / 23 / 3
Регистрация: 15.12.2012
Сообщений: 314
18.01.2013, 22:00
У меня с windows.h всегда буст здорово уживается. В чем там может быть конфликт?
Да, и увидел в верху какая разница в слэшах, например /MyProject или \MyProject
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
18.01.2013, 22:02
Цитата Сообщение от vbloodv Посмотреть сообщение
В чем там может быть конфликт?
В том что boost/asio уже использует хедеры (может что-то для winsoks) Windows, но как-то по своему...
1
0 / 0 / 0
Регистрация: 22.09.2012
Сообщений: 9
18.01.2013, 22:09  [ТС]
Цитата Сообщение от mYSTERYK Посмотреть сообщение
В VC подключаю директории инклуда и линков буста для проекта. В консольном проекте буст работает, а вот в проекте Windows Forms App, когда подключаю его ( к примеру в stdafx.h #include <boost/asio.hpp> ) вылетает куча ошибок, вот дамп:

вот где писал

Мне Windows.h не нужно подключать, он не не нужен просто. Мне ошибки выдает когда чисто подключал asio.hpp
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
18.01.2013, 22:32
Попробовал у себя
Code
1
Ошибка    13  error C2039: signal: не является членом "`global namespace'"    C:\Program Files\boost VC++\boost_1_50\boost\asio\detail\impl\signal_set_service.ipp    74  1   WinForms
В общем чего-то не хватает...
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
19.01.2013, 00:45
Зачем тащить boost в Windows Forms? C++/CLI имеет вполне достаточно фич.
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
19.01.2013, 01:20
Цитата Сообщение от ForEveR Посмотреть сообщение
Зачем тащить boost в Windows Forms? C++/CLI имеет вполне достаточно фич.
Ну это другой вопрос...
Хотя возможно автор собирается использовать CLI только как окна... а логику чисто С++ную
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.01.2013, 01:20
Помогаю со студенческими работами здесь

VS 2008, C#: 1 Error. Constructor on type 'App.App.Forms.FormBase' not found. в FormDerived [Design]
и это после того, как добавил в котструктор базовой формы параметр. теперь в design только ее и могу посмотреть, все остальные при...

Windows Forms в Visual Studio, C++
Доброго времени суток, уважаемые программисты! Требуется создать графический интерфейс для приложения в Windows Forms путем...

Visual Studio Windows Forms C++
Помогите пожалуйста. Проблема номер 1: При запуске Windows Forms возникает такая ошибка (версия Visual Studio2017) И скорее не...

Работа с Excel в Visual C++ -> Windows Forms
Как создать/открыть Excel-файл из Visual C++ -&gt; Windows Forms и с ним работать?

Visual Studio 2010 Windows Forms OpenFileDialog
Здравствуйте! Создаю стандартное Windows Forms приложение в Visual Studio 2010. На форму кидаю, допустим, кнопку или текстовое поле. ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru