User forums > Help

Setting up code blocks so that I can compile wxwidgets programs.

<< < (3/10) > >>

tsm:
If I'm using SHARED=1 MONOLITHIC=1, is the whole lib linked against my program or just the parts I'm using?

djsbriscoe:
Hi,
Here's what Iv'e done so far (it may help others to follow my steps).

a/ Downloaded and unzipped the following files to c:\program files\codeblocks (noticed there is no bin directory)

1/ CB_20060410_REV2334_WIN32.7Z
2/ WXMSW26U_GCC_CB.7Z
3/ MINGWM10.7Z

Codeblocks starts and auto detects visual c++ toolkit 2003 that is already installed.

b/ Downloaded and installed to c:\mingw all mingw gcc 3.4.4 files and gdb debugger. Restarted computer.
    Wrote a simple helloworld console program and compiled it with gcc. No errors.

If I want to install up to date builds of codeblocks do I just install over the current setup or do I have to do the same al over again?

My next step is the wxwidget setup. I will post an update with my experiences and progress.

Thank you to everyone who has patiently read my posts and answered my questions.

David :D

thomas:

--- Quote from: tsm on April 11, 2006, 03:29:13 pm ---If I'm using SHARED=1 MONOLITHIC=1, is the whole lib linked against my program or just the parts I'm using?
--- End quote ---
The whole lib. Shared, monolithic is not perfect in every respect, but it is the least troublesome to start with.

If you only want to only link with the parts that you actually use, you have to either use SHARED=0 MONOLITHIC=0 (and link with the libraries that contain the parts you use) or SHARED=1 MONOLITHIC=0 which is even more troublesome (since you need  to distribute several smaller DLLs with your program).
Or, you could try SHARED=0 MONOLITHIC=1 and hope that the linker does a good job at deadstripping unused code (you'll be disappointed by the MinGW linker, though). In that case, you only need to link against one library, and at least in theory it should only include what you use, too.

The good thing about SHARED=1 MONOLITHIC=1 is that you have a lot less housekeeping and a lot less to remember. You link to one thing, and it just works, and that's it.
Nothing to remember, every monkey could do it. To me, this is a huge advantage, since I prefer spending my time on other things than on wondering why the build fails and what libraries I need to link with. :)

Michael:

--- Quote from: djsbriscoe on April 11, 2006, 04:12:08 pm ---If I want to install up to date builds of codeblocks do I just install over the current setup or do I have to do the same al over again?

--- End quote ---

IIRC you can install a newer nightly build over an older nightly build (if no big changes occur in the newer one). Anyway, I will not do so and chose another repository. For example, if you have C::B installed in C:\Programme\CodeBlocks, I would re-name CodeBlocks repository as e.g., CodeBlocks_old, then unzip the newer nightly build into a new repository CodeBlocks. After testing it, I will delete CodeBlocks_old.

Best wishes,
Michael

tsm:

--- Quote from: thomas on April 11, 2006, 04:30:17 pm ---Or, you could try SHARED=0 MONOLITHIC=1 and hope that the linker does a good job at deadstripping unused code (you'll be disappointed by the MinGW linker, though). In that case, you only need to link against one library, and at least in theory it should only include what you use, too.

--- End quote ---

Made a mistake. That was the build option I was interested in. Thanks for the answer.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version