Posts Tagged ‘gcc’

Removing MinGW dll dependencies

libgcc_s_dw2-1.dll

Passing -static-libgcc will remove this dependency for all languages other than C.
Note: C++ exceptions depends on this option.

mingwm10.dll

Remove -mthreads option from your makefile.
Note: Multithreading and C++ exceptions depends on this option.

How to set up library paths for configure

env CPPFLAGS="-I/opt/local/include" LDFLAGS="-L/opt/local/lib" ./configure

How to ARM Linux

During last few years I’ve never found a good excessive topic covering most of the areas to get Linux runnnig from scratch. I remember myself doing a lot of investigation about correct building of a [crosscompiler][crosscompiler], studying [bootloader][bootloader] internals, and so on… I’m definitely sure – if I had a person that could point me in right direction, then all the development should finish much earlier.

Consider this article as my personal note and feel free using it your own way.

Read the rest of this entry »

Mingw on Linux

I’m using mingw for years, but never tried to use it on linux machine as crosscompiler. Today I’ve had first experience. First thing I’ve noticed is how actually easy to install such environment – there is fully automated build script, available from mingw site. Pros: – Speed. Native environment vs MSys is much faster. Cons: – Building Windows things from Linux means to transfer them from one machine to another.

Icon and version information resource file

This should be an update for one of the recent posts.

resource.rc:

ID ICON "path/to/my.ico"

…the ID can be anything. It doesn’t matter unless it is referred in the code.

Run windres as follows:

windres resource.rc -O coff -o resource.o

Include resource.o along with other object files while linking, e.g.,

g++ -o app obj1.o obj2.o resource.o

And, at no extra charge, it is possible to include version information to the application, adding the following boilerplate to resource.rc file:

1 VERSIONINFO
FILEVERSION     1,0,0,0
PRODUCTVERSION  1,0,0,0
BEGIN
  BLOCK "StringFileInfo"
  BEGIN
    BLOCK "040904E4"
    BEGIN
      VALUE "CompanyName", "Company name"
      VALUE "FileDescription", "Application name"
      VALUE "FileVersion", "1.0"
      VALUE "InternalName", "my_app"
      VALUE "LegalCopyright", "Copyright info"
      VALUE "OriginalFilename", "my_app.exe"
      VALUE "ProductName", "My App"
      VALUE "ProductVersion", "1.0"
    END
  END
  BLOCK "VarFileInfo"
  BEGIN
    VALUE "Translation", 0x409, 1252
  END
END

Links: - Original post - Additional info

Credit goes to Evan McLean.