Hello Nordwolf, Thanks for your informative replies. The confusion arose because I was originally using the USER enum for my root, and my vendor folder on Linux was installed in the ".fltk" folder in my home directory. But when I ran the windows version under Wine, it was using the _Linux_ location and not the one on the Wine C drive. Consequently, when testing the program for the first time under Windows XP, the app could not find the prefs because they had not been installed. So my warning dialogue:
// -- DEFAULT_TESSELATOR if ( !app.groupExists( "DEFAULT_TESSELATOR" ) ) Halt( "Preference group 'DEFAULT_TESSELATOR' does not exist!\n" ); only appeared when running natively under Windows. Nicholas > Actually, I just realized I misspoke. This is a POSIX standard, NOT an > ANSI/ISO C standard. ANSI/ISO C actually says nothing about path > separators. The POSIX standard separator is a forward slash though. > Windows, and DOS, have actually supported the forward slash as file > path separators since the very early days of DOS (as well as the > backslash. Many DOS shell utilities required a backslash, but the > forward slash could be used in programming). > > So basically, the way you are doing it should work on any unix type > system (including OS X), as well as Windows since Windows and DOS have > supported forward slashes as path separators since very early days. > > Sorry for the earlier misstatement. > > > On Wed, 22 Apr 2009 19:35:03 -0400 > Nordwolf <[email protected]> wrote: > > > A quick look through the FLTK source code suggests that this > > is just passed to the RootNode constructor as is, and that the > > RootNode constructor just calls fopen to create or read the file. The > > ANSI/ISO C standard allows forward slashes for the path delimiter in > > file names no matter what the underlying platform uses. So the way > > you are doing it will work on any ANSI/ISO compliant C/C++ compiler. > > > > Hope that answers your question. > > > > > > On Wed, 22 Apr 2009 15:52:09 -0700 > > Nicholas Shea <[email protected]> wrote: > > > > > My application uses a Data folder that resides in the same directory > > > as the app. The paths to my pref files are like this: > > > > > > Data <-- Directory > > > Preferences <-- Directory > > > App.pref <-- Pref file > > > Colors.pref <-- Pref file > > > ... etc > > > > > > > > > I then get the App prefs like this: > > > > > > Fl_Preferences app( "./Data/Preferences/", "nsheaATtiscali.co.uk", > > > "App" ); > > > > > > > > > This is the third version of the Fl_Preferences constructor as > > > listed in the documentation. Previously, I used a custom vendor > > > folder and instructed users to install this in the same location as > > > Fltk prefs. That of course works fine; but I would like to make > > > things easy so that users can just double-click the program and > > > run. If I use a custom Root for my prefs as I have done, will it > > > work on Windows also? I use Linux and cross-compile for Win32 but > > > can only test under Wine; and Wine _seems_ to be ignoring the > > > difference between an Unix path and a Win32 path. > > > > > > Thanks > > > > > > Nicholas Shea > > > _______________________________________________ > > > fltk mailing list > > > [email protected] > > > http://lists.easysw.com/mailman/listinfo/fltk > > > > > > > _______________________________________________ > > fltk mailing list > > [email protected] > > http://lists.easysw.com/mailman/listinfo/fltk > > > _______________________________________________ fltk mailing list [email protected] http://lists.easysw.com/mailman/listinfo/fltk

