Re: a problem running euwingui2
- Posted by ChrisB (moderator) Jan 09, 2017
- 1797 views
Hi Archie.....
Few things
The euwingui dlls are 32 bit dlls, and while your system may be able to find them in euphoria/bin, but it will be able to find them in windows/Syswow64 and this is where you should place them on a 64 bit system. On a 32 bit system the should go in windows/system. Won't go into why now, google it if you want.
Second the path thing. IMHO the Eu environment variables are a a thing of the past and should be confined to history, and are entirely replacable by eu.cfg.
However, if you installed Eu with the installer, then you will have had a few environment variables added
Your %PATH% variable will have had c:\euphoria\bin added to it. This tells your system where to search when you enter a program. For instance you will be able to type eui from anywhere in your computer, and your system will be able to find it within c:\euphoria\bin. To check if it has been added, open up a command console (start/search box/ cmd), and type path or echo %PATH%. You should see the path enironment variable with the euphoria directory at the end.
The EUDIR and EUINC environment variables tell Euphoria where euphoria lives and where you are putting include files. The message
<0074>:: Errors resolving the following references: ..\..\include\ewguties.ew (35): NULL return NULL ^
is an instruction for the interpreter to look in a very specific place. The error message is telling you it can't find it. The ..\ are instruction for one directory up, then go down into include and look for ewguties.ew. If your EUINC points to where you have some includes, it will look for these, by adding the instruction onto each of these - ie
c:\Euphoria\euwingui2\include\..\..\include
in other words
c:\include
as well as the current location - 2 up - then into include
(This is only one example of the search - it will go through the rest trying to find it)
A simple solution would be just to put the includes directly into c:\euphoria\include, which you have kind of alluded to, but not done. It will clutter the include folder up, but it will work.
This is why I believe the environment variables add confusion rather than helping. The EUDIR is always searched for the include folder, but then the eu.cfg should be used to specify other include folders for individual specific programs or specify them directly in your program, eg
include c:\Euphoria\euwingui2\include\ewguties.ew
or if you use eu.cfg
-I c:\Euphoria\euwingui2\include (or wherever you put the includes) and change the program to just look for the include, and not specify a path
Hope this has given you some pointers
Cheers