GIS extension of Boost.Geometry - c++

I am using Boost 1.50.0 and I need to use the GIS extension of Boost.Geometry. Where can I find this extension for Boost 1.50.0 or lower? (I haven't upgraded my application to newer version of Boost due to some compatibility issues.)

The extensions are a part of the development version of a library, they're not released. So in order to use them you should probably checkout/clone (and use) the development version of Boost.Geometry. You could also try to mix the released version and the extensions from the development version but I'm guessing this way it'd be easier to make some mistake which would e.g. result in unwanted incompatibilities.
Anyway, the most simple way of doing it would be to see which commit was the most recent one in the Boost.Geometry released in Boost 1.50 (boost-1.50.0 tag in Boost.Geometry repository on GitHub):
https://github.com/boostorg/geometry/commits/boost-1.50.0
and then try to find a corresponding one in the develop branch:
https://github.com/boostorg/geometry/commits/develop
Note that you can find some commits in both branches that can't be found in the other. I don't know if that's because SVN was used back then or the reason is different. In your case I'd try with this commit from boost-1.50.0:
https://github.com/boostorg/geometry/commit/443b01bc07b0fb329aee803ea1bef6a8f14e449b
which seems to correspond to this commit in develop:
https://github.com/boostorg/geometry/commit/d35eb8f2dff20e61655fcef5ee4a23ca4d9d9847
so this is the develop tree:
https://github.com/boostorg/geometry/tree/d35eb8f2dff20e61655fcef5ee4a23ca4d9d9847
which you should be able to download by clicking the "Download ZIP" button on the right side of the page. Then you could use it instead of the released version or just extract the extensions from it, etc. Just have in mind it's not officially released version and that no guarantees can be made.
Here you can see the extensions in that tree:
https://github.com/boostorg/geometry/tree/d35eb8f2dff20e61655fcef5ee4a23ca4d9d9847/include/boost/geometry/extensions

Related

Find deprecated or changed methods in site core with different versions

I am planning to migrate site core 6.5 to site core 8.1. So here i am using below dlls sample
Sitecore.nexus
Sitecore.NVelocity
Sitecore.Analytics
Sitecore.Marketing.Wildcards and etc.
While i am doing POC i got understand Sitecore.Marketing.Wildcards is changed because of vast changes in Rules Engine.I figured out by compile time errors in my code after code has setup with sitecore 8.1. So i planned for another work around.
My question is how can I find a way to discover deprecated or changed functions from one version to another version of site core migrations? I'm trying to fgire this out before I dive into development.
The best way is to go through the release notes and find what is changed.
https://dev.sitecore.net/Downloads/Sitecore%20Experience%20Platform/Sitecore%2081/Sitecore%20Experience%20Platform%2081%20Initial%20Release/Release%20Notes
For example, on the release notes for Sitecore 8.1 on above link, you will find certain deprecated features, functionality, framework like SPEAK 1.1 framework etc. So with every release, some features or components may get deprecated and you need to fix the code break due to this.

How to include .NET framework library in executable

I've recently made a Windows Forms Application in VS 2010 Express. When running on my machine it works fine but on other machines it needs to install the .NET framework first. Is there anyway around this? By including the library in my executable? By not using the .NET framework?
I would really appreciate some help.
Typically this kind of problem would be handled by your Windows Forms Application's installation package.
Opinions vary but I'd suggest the safest/most polite thing to do is to treat .NET as a prerequisite. If .NET is not present, display a message that it is required before the install will succeed and perhaps point to a Microsoft download page like this one or this one. The risk is that you point them to an obsolete download page or that the page moves and invalidates your link.
That said, I would have expected most machines to have some version of the .NET Framework installed (by Windows Update for example) so it's a bit surprising that you're being told it needs to be installed.
I suggest you follow the instructions in How to: Determine Which .NET Framework Versions Are Installed to check one of your failing machines to confirm that .NET is not installed (very unlikely) or to determine which version (or versions) of .NET is (are) installed.
Update 6/21/2015 From the comment below, we have evidence of two systems without .NET installed so my "very unlikely" comment above is a bit off base!
Update 7/4/2015 I have a bad habit of forgetting that not everyone configures their Windows systems exactly the same way I configure mine. From this blog post it seems that the .NET Framework is 'only' a Recommended Update.

Upgrade OpenCV project to latest version

I have a C++ logo detection project which uses OpenCV 2.3.1. I need to upgrade this project to OpenCV 3.0. For example instead of using (I actually mean replacing) IplImage I would like to use cv::Mat. I know that everything will not be automatically upgraded without some manual coding.
Question: I would like to know if there is any way to at least do some of the work automatically, by using a software or third party library.
I recently had to upgrade an old OpenCV project to make use of some extra features offered in 2.4.* versions (coming from version 2.2). There is no tool or library that will help you detect what you need to change. I had to upgrade and then fix certain parts of my code that used functions that had changed slightly.
A really neat resource you can use is this: API changes/compatibility report for the OpenCV library
It allows you to check the backward compatibility % between versions and see the main changes introduced in each library version. So you can use this to fix every conflict you see once you update the library to the version you want.

Do I have to build my program on the oldest Linux OS minor version I want to support?

If I want my software to run on Red Hat Linux 6.0, do I have to build it on 6.0? Or can I build it on 6.3? (Similar question for 5.X) I'm asking a general question about runtime implications of shared libraries and similar "automatic" dependencies that get sucked in during the build process. And I'm interested only in the divergence between minor releases. I know that more things change between major releases. I'm interesting specifically in RH and RH-derived distributions. My program is written in C and C++. I think the biggest dependency I need to worry about is the GCC runtime libraries for C and C++. Is there a web page I can use to verify which GCC updates were used in which RH minor releases?
To be clear: I understand the goal and commitment to compatibility between update releases going forward. Upgrading from 6.1 to 6.2 should not break my existing applications. In order to build on a newer update and run on an older update, I would need the reverse kind of compatibility. I need 6.1 to be compatible with things built on 6.2. In general this kind of compatibility is impossible to achieve on a wide-spread basis, across all config files, libraries etc. But I only need a narrow slice of reverse compatibility.
I have an app that was designed, written and built successfully on 6.1. Now I want to build it on 6.2, but I want it to still run correctly on 6.1. Is there a general software release practice on Linux that you always have to build on the oldest update release that you want to support? Or do most people use trial-and-error to determine whether their app runs on older update releases? If you use trial-and-error, how much "error" shows up in the equation?

Install latest cppunit in windows

I am trying to install CppUnit on Windows.
I have downloaded it from here, decompressed it, and noticed that all files have ,v in their name, and no extension.
The instructions for installation (in included files, as well as on every site I found that suggests installation for Windows, are for Linux. (example installing CppUnit for Windows Instructions).
Others, just to build: (example: installing CppUnit for Visual Studio Instructions or Second answer on same topic).
The accepted answer on the above link has a comment saying that the person who accepted it "Sorted it, I downloaded another version" - after he had exactly the same problem as I did - but did not specify what version or from where...
The link I have above is the latest version.
I was able to find a very old version, 1.12.1, from 2008, that would almost build (with lots of errors), on Windows. I am using it now to learn how to implement CppUnit. Still, it is 4 years old... I would like to be able to use the latest build...
Please, can someone give me some suggestion that I can implement, and works, in Windows, to install the latest cppUnit ?
Thank you.
The first download you made is an archive of the CVS repository. This explains the strange ,v "extensions" you see on the files. It is not what you should download. And indeed, the correct download you made (version 1.12.1) is 4 years old. It was the latest stable version though, so it should normally build. I don't know what the exact problems were you encountered.
There are however two newer options. There is CppUnit2, which is available here. And there is an independent fork of the original project available here.
Perhaps you can check either of those out and see if they are less problematic for you.
The fork Bart mentions on freedesktop.org appears to be the (only?) continuation of CppUnit version 1, and at this moment has version 1.13.2.
Note that for this version, if you want to use the test runner on Win64, you'll have to make a small modification described here until that has made it to a newer release.