FLTK logo

STR #2358

FLTK matrix user chat room
(using Element browser app)   FLTK gitter user chat room   GitHub FLTK Project   FLTK News RSS Feed  
  FLTK Apps      FLTK Library      Forums      Links     Login 
 Home  |  Articles & FAQs  |  Bugs & Features  |  Documentation  |  Download  |  Screenshots  ]
 

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:

Receive EMails Don't Receive EMails

Trouble Report Files:

Post File ]

No files


Trouble Report Comments:

Post Text ]
Name/Time/Date 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 ]

 
 

Comments are owned by the poster. All other content is copyright 1998-2024 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.