In May this year, we announced Project Hilo and promised a set of cool sample applications written in C++. At that time we had released the first application in the Hilo series. Since then we have published some articles that walk the reader through all the steps that go into developing the Hilo Browser application (Chapter 1 thru 8 on this link). These articles describe the way we implemented the application in C++, our thought process for designing the application, as well as deep discussions on the source code and implementation using C++ and the modern application features in Windows 7.
Now we are back with the next application in the Project Hilo series. We call it the Hilo Annotator. Below is a screenshot:
This application provides basic image editing capabilities but more importantly it illustrates how to take advantage of the following Windows functionalities:
This series of articles and sample code are meant to show that the modern features that Windows 7 provides are accessible to the C++ programmer in efficient programming interfaces that are as close to the platform as you can get.
You can download the source code for this application from the Hilo Code Gallery Page. The article introducing the Hilo Annotator app can be found here. As we did earlier, over the coming weeks we will be publishing a series of articles on MSDN library (here) that will provide the walkthrough for building this app.
As usual, you can also follow Hilo updates on Twitter @projecthilo. Stay tuned.
Hope Hilo will be anothor classic demo like SCRIBBLE!
Great to hear from you YING!
We would love to see you and your students using Hilo and the associated technologies for your project work. As always, feel free to provide feedback on anything related to Visual C++.
I'm trying to use the Hilo Common Library in my application. I'm simply adding the Common project to my solution, which contains another project. I've managed to work around a bunch of problems but I've hit a brick wall. The linker complains about C++ standard library symbols being multiply defined. For example:
1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: void __thiscall std::_Container_base12::_Orphan_all(void)" (?_Orphan_all@_Container_base12@std@@QAEXXZ) already defined in Common.lib(Direct2DUtility.obj)
1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __thiscall std::_Container_base12::~_Container_base12(void)" (??1_Container_base12@std@@QAE@XZ) already defined in Common.lib(Direct2DUtility.obj)
1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __thiscall std::_Container_base12::_Container_base12(void)" (??0_Container_base12@std@@QAE@XZ) already defined in Common.lib(Direct2DUtility.obj)
What am I doing wrong?
The follow web page has a list of possible issues and workarounds for your issue: msdn.microsoft.com/.../72zdcz6f(v=VS.90).aspx Let me know you if are still having trouble after trying some of the possible solutions.
Nope, none of those is the issue.
I must be doing something fundamentally wrong in the configuration because the Hilo solution does much the same thing (it has three projects, including Common) and it builds just fine.
Another strange problem is that my project's pre-compiled header (StdAfx.h) clashes with the Common project's StdAfx.h, so I had to rename mine to StdAfx2.h. The Hilo solution doesn't have this problem: it has three StdAfx.h files (one for each project).
Can you post your full build output? Did you put the common library in it's own folder? I could see a conflict with the precompiled headers if you had multiple projects in the same folder.