Boost C++ on Windows IOT Core - c++

I'm using Visual Studio 2015 with Universal Windows Project to build it on RaspberryPi 2 (ARM). For my program I need to use the Boost C++ Libraries, is this libraries compatible with Win10 IoT Core ? At the same time, I've linked Boost to Visual Studio 2015 but I've an error when cross-compiling : "LINK : fatal error LNK1104: cannot open file 'libboost_regex-vc140-mt-gd-1_63.lib'"
Need help please.
Thanks,
Azm0g.

The linking error message shows you're trying to reference the the wrong library format(x86 or x64) for your Windows ARM project.
You should be reference the arm build binaries for your Windows IoT project.
Since boost does NOT provide pre-built binaries for Windows ARM yet, meaning it's not yet officially supported.
I also found a nice tutorial on how to compile the boost library targeting ARM with Windows Phone, you may try it yourself.
Notice that not all Win32 APIs are available on UWP, even you're able to build it successfully, you may not have access to all the boost modules nontherless.

Related

How to use g2o framework for Graph Optimization (SLAM) on windows?

I'm working on a graph slam project and i want to use g2o framework (https://github.com/RainerKuemmerle/g2o) de develop the application using visual studio 2010. This framework works primarly on linux but it can be used for windows as well.
Could any one tell me how to use with visual studio
Thank you,
Regards
You can use it in Windows because all requirements have a port to Visual Studio.
cmake http://www.cmake.org/
Eigen3 http://eigen.tuxfamily.org
suitesparse http://www.cise.ufl.edu/research/sparse/SuiteSparse/
Qt4 http://qt.nokia.com/
libQGLViewer http://www.libqglviewer.com/
Our primary development platform is Linux. Experimental support for
Mac OS X and Windows (MinGW or MSVC). We recommend a so-called out of
source build which can be achieved by the following command sequence.(1)
Use cmake to build it.
I remember having some issues with building g2o on Windows. But the CMake should work well. Just configure, generate, and you can open the solution with Visual Studio and build. If it says "Configuring Done", it should compile. Eigen3 is sometimes tough to find for CMake, as their find script is not officially distributed with CMake (yet).
You can run (assuming you are in g2o/trunk/build folder, hence ..):
cmake .. -DCMAKE_MODULE_PATH=/path/to/a/dir/containing_the_FindEigen3.cmake_file/
There are also other libraries that solve graph problems efficiently, such as SLAM++, iSAM or GTSAM, they compile on Windows with less problems.

Qt with OpenCV - Which one to download

This must be a very common issue, but I need to download Qt because I am going to learn OpenCV in C++. When I go to Qt-project, there were lot of links, even there are lot of links for the same windows platform! Currently I am coding in C++ with MS Visual Studio Express 2010 (Yes, I am using windows 7 ultimate). I am new to C++ as well.
In order to do OpenCV in Qt, what should I download? My book is using a Qt IDE as well. Can you provide direct links please? Please help!
When using QT there is a IDE named QT Creator. This gives the option of creating various type of projects such as plain C and Plain c++ projects and many more. So you may not need any other c++ IDE as MSVS express. Download the QT SDK to get all the libraries and the IDE together.
For example for windows download the exe in named as "Qt libraries 5.0 Beta 2 for Windows (501MB)"
If you are going to use OpenCV with QT i recommend OpenCV tutorial 4: OpenCV and Qt on youtube.
you can download qt as many ways.
1.as the complete SDK. (you must purchase this)
2.get the qt libraries
3.download the source and build it. (little hard and take a lit of time)
im sure you will go with the 2nd option. so you can download Qt libraries 4.8.4 for Windows (minGW 4.4, 317 MB) or Qt libraries 4.8.4 for Windows (VS 2010, 234 MB). 1st one is for mingw compiler and the other one is for vc 2010 compiler. you can download this one because already you have vc compiler installed. note that applications build with vc++ are not cross platform. if you need your applications to be cross platform go with mingw compiler. (prebuilt mingw librarys are only compatible with mingw 4.4 version. if you are going to download this first install mingw 4.4 in your computer)
then download and install Qt Creator 2.6.0 for Windows (51 MB). this is a cool IDE for using qt, c++.

Link library developed in old Visual Studio

I am using Visual Studio 2010 but has received an external library developed for Visual Studio 2008. If I try to link the library into my program, I get the following error:
Activation context generation failed for "Tutorial.exe".
Dependent Assembly Microsoft.VC90.DebugCRT,processorArchitecture="x86",
publicKeyToken="1fc8b3b9a1e18e3b",type="win3
Is there any way that I can link the library anyway?
From the error message, it seems that you are linking the debug version of the external library that requires the debug version of VS2008 runtime library. Note that Microsoft do not distribute debug versions of their VC runtime library so either you have to
a) Install VS2008 itself so that it installs both debug and release version of VS2008 runtime library into the system.
OR
b) Install VS2008 re-distributable package and use only the release version of the external library in your project.

Visual C++ 2010 Express: How to use with Qt?

I'm confused about getting Qt working with Visual Studio Express. Most of the searches online have turned up instructions for compiling Qt using instructions such as:
Install MSVC2005 or MSVC2008
Install the most recent Platform SDK (# MSDN: "Platform SDK for Windows
Server 2003 R2")
From the Platform SDK, you'll need to install at least the base +
internet options
Then, download and extract a recent snapshot or the preview release to
D:\Qt\4.x.x
Open up a console with the MSVC settings loaded (see MSVC Tools-menu)
and go to your Qt directory
Type "configure -platform win32-msvc2005" without the quotation
marks
That will build you the project files you'll need
After that, it's as simple as running "nmake" and drinking a lot of
coffee
Then, add D:\Qt\4.x.x\bin and
D:\Qt\4.x.x\lib to your path
environment variable, and you'll be
able to use this version of Qt from
everywhere on your system. The latter
could be added to the library section
in the options from MSVC as well.
(from http://www.qtcentre.org/threads/11710-Visual-Studio-2005-Express)
However, when I go to the download page of Qt (http://qt.nokia.com/downloads), there is a download for Visual Studio labeled:
"Qt libraries 4.7.1 for Windows (VS 2008, 228 MB)"
I'm confused, do I actually still need to build it? Or is it already built?
Using the downloadable exe from qt (http://get.qt.nokia.com/qt/source/qt-win-opensource-4.7.1-vs2008.exe) does not seem to work with Visual Studio 2010. I tried building a simple hello world program from the command line which would not run. I'll repeat my comment from a previous answer.
I tried the hello world example from
doc.qt.nokia.com/4.7/gettingstartedqt.html.
I was able to build the project and an
exe is generated. However, the exe
fails to run and generates a system
error dialog box about "side-by-side
configuration is incorrect...". I ran
SxsTrace and it says:
...
INFO: Begin assembly probing.
INFO: Did not find the assembly in WinSxS.
INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_32\Microsoft.VC90.DebugCRT\ 9.0.21022.8__...\Microsoft.VC90.DebugCRT.DLL.
INFO: Attempt to probe manifest at C:\qthello\debug\Microsoft.VC90.DebugCRT.DLL.
INFO: Attempt to probe manifest at C:\qthello\debug\Microsoft.VC90.DebugCRT.MANIFEST.
INFO: Attempt to probe manifest at C:\qthello\debug\Microsoft.VC90.DebugCRT\Microsoft.VC90.DebugCRT.DLL.
INFO: Attempt to probe manifest at C:\qthello\debug\Microsoft.VC90.DebugCRT\Microsoft.VC90.DebugCRT.MANIFEST.
INFO: Did not find manifest for culture Neutral.
INFO: End assembly probing.
ERROR: Cannot resolve reference Microsoft.VC90.DebugCRT,processorArchitecture="x86", publicKeyToken="...",type="win32",version="9.0.21022.8".
ERROR: Activation Context generation failed.
End Activation Context Generation.
To me, it looks like its trying to use
VS2008 (which I don't have). It makes
sense I guess since the download is
for VS2008.
I was in the process of compiling qt 4.7.1 using the instructions in my question (using win32-msvc2010 as my platform target however) as I asked this SO question and the compilation finished. I rebuilt the hello world project and the exe runs. So it seems like the answer is in order to use with Visual Studio Express 2010 you currently do need to compile (at least until Qt releases a VS2010 download option). However, I believe if you are using VS2008 then you will not need to compile.
The Qt binaries provided by Nokia for Windows target either MinGW or Visual Studio 2008, both for compiling 32bit executables. If you need Qt binaries for VS 2005 (32bit), you may find them in their archives.
For everything else, you need to compile Qt yourself. Especially for:
Visual Studio 2008 64 bit
Visual Studio 2008 Express Edition 64 bit: You need the Windows SDK 7.0 which provides the 64 bit compilers and compile Qt with those.
Visual Studio 2010 32 bit and 64 bit
In general, you cannot link libraries compiled with different compilers, i.e. use the Qt binaries built with VC 9.0 (VS 2008) 32 bit and link them to an executable built with VC 10.0 (VS 2010) 32 bit.
Just a small update on this.
Downloading the QTSDK (and using cmake instead of qmake everything looks like working quite well. Except for the fact that the installer of QTSDK didn't update the path for qmake.exe and you've to do by hand.
Tested with QtSDK 4.8 and visual studio express 2010
http://qt.nokia.com/downloads has a link called qt-vs-addin-1.1.7.exe (57 MB)
You'll probably need that one as well . .
I don't think you need to compile the libraries since there is a download for them now . .
So get the 228 MB of libs and 57 MB plugin and you should be set.
DISCLAIMER: I don't use MSVC (yet?) so please let me know if it works.

Vista / Win 7 SDK bufferoverflowu.lib linking error

I downloaded the Windows SDK 7.0A to explore some things I was reading about. I downloaded some samples that work with the SDK but when I try to compile them I get an error. I looked in the Lib directory of the SDK and couldn't find it. I also did a full system search and also did not find it.
I have read about this being a special link added at compile or the result of a version check in a pragma. I could not find any reference to the lib in the source or all the header files.
I'm running:
Vista Ultimate
VS 2010 Beta 2
Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 Service Pack 1
My Error:
error LNK1104: cannot open file 'bufferoverflowu.lib'
I just reinstalled and am still getting the same issue.
What sample exactly are you trying to build - a little research shows that the bufferoverflowu.lib (and other related bufferoverflow*.lib files) were in previous SDKs to support building with compilers from before and after Microsoft added the ability for the compiler to generate buffer overflow checks (starting with the /GS option in VS 2003 - I think).
The libraries were in the SDK so that if the user built a Windows program with compiler that didn't support the buffer overflow checks, the SDK libraries that had been built that way would link to the code in the bufferoverflow*.lib to get the support. If the user was building with a newer compiler, everything would link to the C runtime library that had the buffer overflow support.
However, the Windows SDK v7.0 only supports building applications with VS 2005 SP1 or newer, so the buffer overflow checking code always comes from the C runtime - the bufferoverflow*.lib file should no longer be necessary.