Tuesday, June 17, 2008
DSL Saga
Hi guys. Started lerning some new stuff today. Looks like the world has moved quite a bit while I was out of action. Seems ther is plenty to learn too. Well the catch is that all these stuff are really cool but i might not have time to go through them. But i thought that it would be nice to touch on DSL while I am at it. And it seems a cool idea too. We'll see what comes out of this in the next weeks.
Monday, June 16, 2008
Solution at last
Hi ppl, I m sorry if I was a little late in posting the follow up for the last blog post. But I was kinda busy with some other stuff. Anyways here is the solution. Well last time i said that the culprit is lib Jasper that is bundled with highgui. The problem is that it is a release version and by default will insist on connecting to release version of the vc runtime. Thus we have to make sure somehow that the application will only connect to the debug version . To do that the option to be set is in Projecct settings -> C/C++ -> Code Generation. In this page there is an option to select runtime library to be used. We have to select either Multithreaded debug or Multithreaded. Any option with DLL in it will cause the program to be dynamically linked with the libraries and also link in MSVCR80.DLL again. But doing this for each and every project is too cumbersome thus you can avoid it by loading the OpenCV workspace direcly and the changing this setting for the highgui library and then rebuilding highgui. The resulting dll will not link to MSVCR80.dll as can be verified with dependency walker (www.dependencywalker.com)
Wednesday, June 11, 2008
Onward with the research
Hi guys, So i am rolling on with the research project that I was doing earlier for the company that i work for zone24x7(www.zone24x7.com). I know this is a killing task but i rather like the challange. I think it is what drives us guys. you know, there are some out there that would smartly avoid the challenge and go easily. but we are the fools that rush in to the face of the challange just becuase it excites us. I will probably spend the next two months on the same routine that i spent entire two and a half months back from march. like 18 hour work, 2 hour eat + wash + drink and 4 hour sleep shedule. I know it is a cray routine but i guess that these extreme demands call for extreme meshures. And i am kinda proud too that i am able to do these things. I mean I dont know of any other guy who can work for 22 hours straight sleep 2 hours come back and out in another 18 hour stretch. It sound far fetched but i have done it. So enough of my boasting. i m going back to work now. This time it either me or the system. if i win i probably might post tomorrow. if not ummm..... i think may be the system will blog ;-)
Friday, June 6, 2008
First Techno
This is my first technical post (of what is hopefully many to come). This is about a problem that guys new to OpenCV meet everytime that they start coding with vs2005. Why this does not happen with vs 6 is a mystery to me and i havent tried 2003 yet but i might in future.
The problem is that the first time an app is compiled, linked and run in vs2005 and linked to highgui.lib or highghid.lib, the user may get a MSVCR80.DLL not found error. if you have done a fair bit of coding you know that this is microsoft vc runtime. so just how the heck come VS debugger cannot find it. the answer lies in taking a look at the exe built using dependency walker(http://www.dependencywalker.com/). The dependency walker is an invaluable tool in finding bugs and other problems in linking area. Also you can find a lot of meta info using this. Anyways a quick look in dependency walker of the exe you see that it links to both MSVCR80.dll and MSVCR80D.dll . and herein lies the problem. windows cant load two DLL's with identical methods and so on, just because they have two names. thus windows throws its hands up and says, ok i cant find this dll. (bad error reporting i know)
The culprit happens to be a lib included with highgui. there is a lib called jasper included with OpenCV. This lib for some reason (I think the reason is that the source is closed but i m really not sure) is included in a binary version. thus only the lib is present and it is a debug version. thus automatically it links to the debug version of vc runtime. but if the others are to run for release version then comes the problem. jasper and in turn highgui wants to link to msvcr80d.dll but others want msvcr80.dll. And we have the cause of the problem. I will post the solution next time.
Thursday, June 5, 2008
In Android
Started working on a new project. and this one seems to be quite out of the way with what i ve been used to doing. for me at least this is cutting edge - damn bleeding even. so what is android you ask. android is the next gen mobile OS developed mainly by google. No there is no gPhone as such as of now. but google does offer integration of some of their services like google maps and so on in to the OS. but that is optional and there are no bindings. Best thing is inside it runs linux. So if you are really in to open source mobile development, this is the product for you. It runs everything open source since java is also kinda open sourced now. graphics come in the form of OpenGL ES. and there are dedicated telephony, GPRS, GSM, 3G support. in fact you name it's got it - sql, content providers everything. I think that google has come up with a winner this also. lets just wait and see how evil MS will fare. They actually increased the staked last year with shipping of Windows CE 6. It was a major revamp. but i dont think any amount of revamping is going to get them closer to this. So lets wait and see what they are going to come up with to combat android.
Tuesday, June 3, 2008
Back at work
Hi all, think that i should have been writing this earlier. but got the chance only now. So guess the title says it all. I AM BACK AT WORK. sorry if all caps offended you but i really am SHOUTING. boy am i happy to be back here. it really feels like home. I mean after an year and a half of open ended mind boggling research it is really good to be at work on a project knowing what is required and what we will deliver at end. at least it feels safer. So i am back on familiar territory. And guess i will start blogging in some stuff i leaned during the last year or so soon. See ya.
Subscribe to:
Comments (Atom)