| [ Return to Bugs & Features | Roadmap 2.0 | Post Text | Post File | SVN ⇄ GIT ]
STR #2358
Application: | FLTK Library |
Status: | 5 - New |
Priority: | 1 - Request for Enhancement, e.g. asking for a feature |
Scope: | 3 - Applies to all machines and operating systems |
Subsystem: | Unassigned |
Summary: | Making Test Demos Tip |
Version: | 2.0-feature |
Created By: | rainbowsally |
Assigned To: | Unassigned |
Fix Version: | Unassigned |
Update Notification: | |
Trouble Report Files:
[ Post File ]No files
Trouble Report Comments:
[ Post Text ]
|
#1 | rainbowsally 03:18 Apr 30, 2010 |
| This is a list of objects to compile to executables. test> ls o adjuster.o dnd.o image_file.o pixmap.o ansiwidget.o doublebuffer.o image.o progress.o arc.o drawing.o image_transform.o qubix.o ask_test.o drawtiming.o inactive.o radio.o bitmap.o editor.o input.o resizable.o boxtype.o exception.o jpeg_image.o resizealign.o browser.o fast_slow.o keyboard.o resize.o button.o file_chooser.o label.o scroll.o buttons.o fl_jpeg_image.o layout.o shape.o cairo.o Fl_Multi_Image.o line_style.o size_range.o callbacks.o fltk_scheme.o list.o sizes.o checkers.o fonts.o mandelbrot.o subwindow.o classes.o fractals.o menubar.o symbols.o clock.o fromdos.o menu.o tabs.o color_chooser.o fullscreen.o message.o threads-display.o connect.o gl_overlay.o monitors.o tile.o CubeMain.o glpuzzle.o multi_image.o timer.o cube.o helloask.o navigation.o utf.o cursor.o hello.o output.o valuators.o curve.o help.o pack.o wizard.o demo.o iconize.o pixmap_browser.o --------------------------------------- This is a list of additional files to to compile to object files if you like to live dangerously, which are dependencies of the above. I inlined them with #includes for reasons I'll explain in a moment.
test> ls inc/*.cxx inc/CubeView.cxx inc/keyboard_ui.cxx inc/UnknownImage.cxx inc/CubeViewUI.cxx inc/list_visuals.cxx inc/fracviewer_4test.cxx inc/mandelbrot_ui.cxx
--------------------------------------- These are the files that need the object files thus generated if they aren't included from an 'inc' directory as I did.
test> grep inc/ * color_chooser.cxx:#include "inc/list_visuals.cxx" \headers are not compiled, CubeMain.cxx:#include "inc/CubeViewUI.h" CubeMain.cxx:#include "inc/CubeViewUI.cxx" CubeMain.cxx:#include "inc/CubeView.cxx" \headers are not compiled, fractals.cxx:#include "inc/fracviewer_4test.h" fractals.cxx:#include "inc/fracviewer_4test.cxx" glpuzzle.cxx:#include "inc/trackball.c" image.cxx:#include "inc/list_visuals.cxx" image_file.cxx:#include "inc/UnknownImage.cxx" image_file.cxx~:#include "inc/UnknownImage.cxx" image_file.fl:decl {\#include \"inc/UnknownImage.cxx\"} jpeg_image.cxx:#include "inc/list_visuals.cxx" keyboard.cxx:#include "inc/keyboard_ui.cxx" \headers are not compiled, mandelbrot.cxx:#include "inc/mandelbrot_ui.h" mandelbrot.cxx:#include "inc/mandelbrot_ui.cxx"
--------------------------------------
If you have problems with duplicate definitions, that is, similarly named objects in the main libs getting linked instead of the version you need in the test folder, I'd recommend #including the cxx files so you can directly control which code you are running.
It's been a while but I think there were at least two instances of that happening and there may also have been problems with the 'c' file above. Sorry, but I can't remember. Alzheimers + all the other stuff kinda wiped my memory out. ;-)
So if you inline the test dependecies as I did (with no dependencies other than on the fltk2 libs for ANY object compiled), #include the cxx files as well as the headers and your makefile will only link one object per executable.
TIP: makeinclude defines what the compiler and linker do, much as you'd select parameters for a guitar amp cabinet in a DSP. Pretty cool idea. I ripped it off in my own makefile generator. :-)
But the FIRST file named is the output as a result of this method. I think some of the themes or plugins were broken because the wrong file was listed first, others were broken for other reasons.
GOOD LUCK! :-)
PS. The reason I don't upload my own makefile is because it would NOT work with a stock system at all. You'd have to download and install my entire version 2, and I'm not ready to create an installer at this time -- too much testing and variables to check out and there are still a few bugs to work out, namely...
1. The cpu time hogging in fluid when you create a TabGroup. 2. The scrollbars in HelpView not updating automatically.
And there may be some others.
. | |
[ Return to Bugs & Features | Post Text | Post File ]
|
| |