Skip to main content

Posts

Showing posts with the label windows

More on cross-compiling (Codeblocks targets)

Following two old posts ( Cross-compiling windows applications under linux with wine and DevC++ and Compiling win32 binaries on linux ) here another post on cross-compiling windows applications on linux. DevC++ has apparently been droped by its creators, as it has been years since its last release. After that I am willing to migrate some projetcs to Codeblocks . To not loose to much productivity, I am using a windows vitual machine (Virtual Box) to compile my windows projects, with DevC++, Codeblocks and Borland C++ Builder. But what I want most is to do everything from my emacs window. Until I can do it so, I am using Codeblocks which is a multiplatform IDE, running on Windows, Linux and Mac. Codeblocks has a target option to its projects. One can set diferent target platforms for the same project. The same project can be opened on diferent Codeblocks versions, linux and windows for example, and, with the propoer target configuration, be compiled for windows and for linux even folo...

uSleep on windows (win32)

I am facing a terrible issue regarding timing on windows. Googling arround, I've found those infos: Using QueryPerformanceCounter and QueryPerformanceFrequency APIs in Dev-C++ ( http://yeohhs.blogspot.com/2005/08/using -queryperformancecounter-and_13.html ) QueryPerformanceCounter() vs. GetTickCount() http://www.delphifaq.com/faq/delphi_windows_API/f345.shtml How to time a block of code http://www.cryer.co.uk/brian/delphi/howto_time_code.htm And Results of some quick research on timing in Win32 http://www.geisswerks.com/ryan/FAQS/timing.html With that I'm trying to write something like a uSleep function for windows: # include<windows.h> void uSleep ( int waitTime){ __int64 time1 = 0, time2 = 0, sysFreq = 0; QueryPerformanceCounter((LARGE_INTEGER *)&time1); QueryPerformanceFrequency((LARGE_INTEGER *)&freq); do { QueryPerformanceCounter((LARGE_INTEGER *)&time2); // }while((((time2-time1)*1.0)/sysFreq)<waitTime); } while ( (time2-time1) <waitTime); } T...

Cross-compiling windows applications under linux with wine and DevC++

This post has the same title as this , from Violin Iliev because it is almost a "repost". I had an old post on compiling win32 binaries on linux , but the technique I had shown lack the windows resource file compiling. Violin had written his wrapper to the windres resource compiler, but one good "emergency option" if one couldn't, or don't want, or hasn't time to, write a wrapper or compile Violin'd wrapper, is to follow what was commented on Violin's blog by someone who signed as Andy. Andy said: "I had the same problems with windres and mingw32-make under wine 1.0.1 I solved the problems by putting an original copy of msvcrt.dll in the bin subfolder of mingw32 and telling wine to load it first instead of its own msvcrt emulation. hope it can be useful Andy"

Compiling win32 binaries on linux

Old habits are hard to be dropped. As a long term linux user I fell much more comfortable using my old emacs text editor with a good old "green on black" Xterm terminal console window. So we have some legacy code here on my current job, those which must run also on windows. I was making some improvements on it, porting to use wx-widgets, compiling and using it on linux. But some windows users started to want those improvements on their widows versions. As the only WX programmer around, I was the only person able to compile the windows version. As I think future improvements would also be wanted by the windows users, I decided to deploy a windows wxDevCPP installation on wine on my linux workstation. Well the first steps are simple: First get a wx-DevCPP installation executable on Install it using wine Open your .dev files on wxDev Build it Now you have a Makefile.win, which can be used to directly compile win32 binaries. A batch file could also be written to make things easy:...