Boost asio on windows phone 8 - visual-studio

I have a problem while compiling boost asio on windows phone 8. Compiler can't search mswsock.h. How can I fix this problem?

I suspect it can't be found because it's not there for Windows Phone.
To get it to compile you will have to remove any references to the APIs that aren't available for Windows Phone in the source code.
Only the Win32 APIs that are listed on MSDN here are supported on WP8.

Related

missing d3dx9.lib file in windows 10 sdk for ARM

I am porting my Windows directX application from X86 device to ARM in VS2017. But I could not find some DirectX library files(d3dx9.lib) for ARM in VS built-in Windows 10 SDK. The offical DirectX SDK (https://www.microsoft.com/en-us/download/details.aspx?id=6812) does not support ARM. Where can i find ARM version of these library files?
So d3dx is deprecated, thanks to Simon and Jake.

Do I need to install DirectX SDK if using windows 8 and above?

I read this topic but somehow it still doesn't get through my thick skull.
The topic said:
Starting with Windows 8, the DirectX SDK is included as part of the
Windows SDK.
So I try to find in this page a way to setup a directX project. I read:
Using DirectX SDK projects with Visual Studio
...
Ensure that the June 2010 release of the DirectX SDK is installed on your development computer.
I don't understand what's this topic talking about. The first part it said in Windows 8, I don't have to install DirectX SDK (because it is included in Windows SDK), the part about HowTo setup directX project, it said I have to install DirectX SDK.
Anyway, I just ignore and keep going - I don't install DirectX SDK assuming it is already included in Windows SDK as the first quote states.
I do one thing as the topic said:
Include Directories: $(IncludePath);$(DXSDK_DIR)Include
Include Library Directories: $(LibraryPath);$(DXSDK_DIR)Lib\x86
In VS2015 VC++ Directories doesn't have Include Library Directories: so I understand it as Library Directories, the project is for win32 so I don't setup directX SDK for 64. Then I run the project and get the error:
TRK0005 Failed to locate: "CL.exe". The system cannot find the file specified.
So the question is: Do I need to install DirectX SDK if using windows 8 and above or I have to download and install DirectX SDK
Thanks for reading :)
This is covered on MSDN and in more detail in this series of blog posts: Where is the DirectX SDK (2015 Edition)?, The Zombie DirectX SDK, DirectX SDKs of a certain age, and A Brief History of Windows SDKs.
If you are coding a DirectX 11 application, you can use the Windows 8.1 SDK that comes with VS 2015 and don't need the DirectX SDK at all. This application can be written to run on Windows Vista SP2 or later. You don't need the DirectSetup REDIST either as deployment is part of the OS. Do not make use of D3DX11 and use one of the many open source replacements instead. If you are writing a Universal Windows Platform (UWP) app, you can't use the legacy DirectX SDK as those components won't pass WACK.
If you are new to DirectX 11, a good place to start is the Direct3D VS Game Templates and the DirectX Tool Kit for DirectX 11 tutorials.
The one case where you might need the legacy DirectX SDK for your DirectX 11 app is if you want to use XAudio2 on Windows 7. This is covered here. If you require Windows 8 or Windows 10 to run, you can just use XAudio2 that's built into the OS and the Windows SDK.
This requires 'mixing' the Windows 8.1 SDK with the legacy DirectX SDK include paths which is where all the guideance about switching the include/lib path order comes from. For a Windows desktop app, you can still use legacy D3DX if you want with VS 2015--such as when using outdated tutorials or books to learn from--but note that the DXERR library is not compatible with the Visual C++ 2015 REDIST. You can work around this issue per this post.
If you are coding a legacy DirectX 9 application, then you likely want to support Windows XP as well. See here for details on how this works with VS 2015, and this does require the legacy DirectX SDK.
There's nothing in the legacy DirectX SDK for DirectX 12.
For information on other aspects of the moving beyond the legacy DirectX SDK see Living without D3DX, DirectX SDK Tools Catalog, DirectX SDK Samples Catalog, Living without D3DX, Direct3D SDK Debug Layer Tricks, and Not So Direct Setup
If you are looking to use DirectX with C# instead of C++, be sure to read this post.

port an existing c++11 app which runs on Android and IOS to Windows Phone 8

currently I have to port an existing mobile application which runs on Android and IOS to Windows 8. Unfortunately it is using a lot of C++11 Stuff, which is not supported by Windows Phone 8.0. The project itself was written with cocos2d-x 2.0. It contains a C# Part which loads a C++ library with the major part of the application. Also it includes modules from "Project Angle", which is a library to convert OpenGL calls into DirectX calls.
The first thing I tried was to upgrade the project to Windows Phone 8.1 using the 'reassign project' option from Visual Studio. I still had to remove a bit of C++11 Code, but now at least the project itself compiles. After compiling I got some linker errors for functions like 'getenv'. The angle libraries don't even compile and gives me errors like 'Cant find include file vccorlib.h' for every single source file.
Since I'm completely new to Windows development, I don't know if something went wrong on upgrading the projects, or if I have to fix something within the projects. But I tried to upgrade an other project, which was already ported to WP8, and got the same errors.
Now I have to deceide if I have to fix the Windows Phone 8.1 version or if it's easier to remove C++11 Code for 8.0 (which means a few days of work and let my heart bleed)
I also found a compiler update for Visual Studio 2012, which has extended support for C++11, but it seems it's not compatible for Windows Phone.
I hope someone of you could give me a hint, what I have missed for WP 8.1 or has another idea. Thanks for your help!
Cocos2d-x should work on Windows Phone, but you have to get the right version. You can't use pre-built binaries for other platforms (even desktop Windows) and you need to make sure you're building correctly. See the download page.
Visual Studio 2013 Update 4 is the latest stable release of VS that supports Windows Phone projects; you can see the level of C++11 support listed here along with support in the not-yet-finished Visual Studio 2015 compiler.

Adding permanent Include directory

I'm trying to build a solution that contains dozens of projects, unfortunately I cannot find a way in VS2013 to add a "global" include directory to the solution since I need to include Directx.
Is there really no other way in VS2013 to add directories to a solution besides of adding them manually project by project?
Starting with VS 2010, the correct way to add the DirectX SDK to a project is to use VC++ Directories settings. See this old VC post for details.
You can also use custom .props through Property Manager. This is how you would use the Windows 8.x SDK with VS 2010 for example because the Windows SDK no longer creates Platform Toolsets for this combination of tools. See this post.
Historically the include path order has been the following because the DirectX SDK contained newer headers than the Windows SDK 7.x and prior:
$(DXSDK_DIR)Include;$(IncludePath)
$(DXSDK_DIR)Lib\x86 or x64;$(LibraryPath)
Now that the DirectX SDK is deprecated, the Windows 8.x SDK that comes with VS 2012 and VS 2013 contains newer headers than the legacy DirectX SDK. Therefore, if you still need to make use of old components that are only in the DirectX SDK (such as the deprecated D3DX library), you need to use:
$(IncludePath);$(DXSDK_DIR)Include
$(LibraryPath);$(DXSDK_DIR)Lib\x86 or x64
There are a few more minor details covered on MSDN
For Direct3D 11 development, you should remove use of the DirectX SDK in favor of the Windows 8.x SDK anyhow. See Living without D3DX and DirectXMath.
If using XInput 1.3 and you still need to target Windows 7 or earlier, one option is to use XInput 9.1.0 instead. See XINPUT and Windows 8. This is used by DirectX Tool Kit's GamePad when targeting down-level to avoid the need for the legacy DirectX SDK.
The only cases where it still makes sense to involve the DirectX SDK in newer Win32 desktop apps is when using XAudio2 and shipping on Windows 7 or earlier. See XAudio2 and Windows 8. This is used by DirectX Tool Kit for Audio when targeting down-level.
In both cases of using XInput 1.3 and XAudio 2.7 you actually need to use full paths to the DirectX SDK headers/libs and not rely on project search paths to pick up the right headers since they have name collisions with XInput 1.4 and XAudio 2.8 in the Windows SDK 8.x.

Use of OpenGL in Windows phone 8

I am developing an app for windows phone 8 I want to use OpenGl like in android and iOS I searched in internet but not found stuff that is helpful for me please suggest me if it is possible for WP8?
Unfortunately, OpenGL is not supported on Windows Phone. You can use Direct3D in Windows Phone 8 or XNA in Windows Phone 7/8.
EDIT/UPDATE:
If you want to use OpenGL on Windows Phone 8, you can use the ANGLE project which is an OpenGL API built on top of DirectX.
OpenGL is not supported yet on Windows Phone, but according to Marmalade, they will be providing OpenGL ES for Windows Phone 8 and Windows 8 "in early 2013".
Read their announcement at the following link and download Marmalade to get notified when it becomes available:
http://www.madewithmarmalade.com/windows8?utm_source=fronpage-carousel&utm_medium=site-internal&utm_campaign=windows8-announce
Note that Marmalade is not free though - even the Community Edition is $149/seat/year..

Resources