I’ve been trying to get MakeBottle.cxx to compile on my 32-bit Hardy Heron… As I’ve said from the beginning of me starting to post, I’ve been pursuing three simultaneous learning objectives…
- Linux,
- C++
- OpenCascade
As this is a fun[?] project for me, I haven’t been able to focus on this as much as I’d like. At this point, I’m starting to learn about compiler options using the g++ compiler.
Here are my experiments in trying get MakeBottle.cxx to compile successfully
(Experiment 1) Find make MakeBottle.cxx and simply let the g++ rip.
jonas@Ubuntu4:~$ locate MakeBottle.cxx /home/jonas/OCC_bottle/MakeBottle.cxx /opt/OpenCASCADE6.2.0/samples/tutorial/src/MakeBottle.cxx jonas@Ubuntu4:~$ cd /opt/OpenCASCADE6.2.0/samples/tutorial/src/ jonas@Ubuntu4:/opt/OpenCASCADE6.2.0/samples/tutorial/src$ g++ MakeBottle.cxx MakeBottle.cxx:1:25: error: BRep_Tool.hxx: No such file or directory MakeBottle.cxx:3:32: error: BRepAlgoAPI_Fuse.hxx: No such file or directory MakeBottle.cxx:5:39: error: BRepBuilderAPI_MakeEdge.hxx: No such file or directory MakeBottle.cxx:6:39: error: BRepBuilderAPI_MakeFace.hxx: No such file or directory MakeBottle.cxx:7:39: error: BRepBuilderAPI_MakeWire.hxx: No such file or directory MakeBottle.cxx:8:40: error: BRepBuilderAPI_Transform.hxx: No such file or directory MakeBottle.cxx:10:40: error: BRepFilletAPI_MakeFillet.hxx: No such file or directory MakeBottle.cxx:12:23: error: BRepLib.hxx: No such file or directory MakeBottle.cxx:14:44: error: BRepOffsetAPI_MakeThickSolid.hxx: No such file or directory MakeBottle.cxx:15:42: error: BRepOffsetAPI_ThruSections.hxx: No such file or directory MakeBottle.cxx:17:40: error: BRepPrimAPI_MakeCylinder.hxx: No such file or directory MakeBottle.cxx:18:37: error: BRepPrimAPI_MakePrism.hxx: No such file or directory MakeBottle.cxx:20:34: error: GC_MakeArcOfCircle.hxx: No such file or directory MakeBottle.cxx:21:30: error: GC_MakeSegment.hxx: No such file or directory MakeBottle.cxx:23:33: error: GCE2d_MakeSegment.hxx: No such file or directory MakeBottle.cxx:25:18: error: gp.hxx: No such file or directory MakeBottle.cxx:26:22: error: gp_Ax1.hxx: No such file or directory MakeBottle.cxx:27:22: error: gp_Ax2.hxx: No such file or directory MakeBottle.cxx:28:23: error: gp_Ax2d.hxx: No such file or directory MakeBottle.cxx:29:22: error: gp_Dir.hxx: No such file or directory MakeBottle.cxx:30:24: error: gp_Dir2d.hxx: No such file or directory MakeBottle.cxx:31:22: error: gp_Pnt.hxx: No such file or directory MakeBottle.cxx:32:24: error: gp_Pnt2d.hxx: No such file or directory MakeBottle.cxx:33:23: error: gp_Trsf.hxx: No such file or directory MakeBottle.cxx:34:22: error: gp_Vec.hxx: No such file or directory MakeBottle.cxx:36:39: error: Geom_CylindricalSurface.hxx: No such file or directory MakeBottle.cxx:37:26: error: Geom_Plane.hxx: No such file or directory MakeBottle.cxx:38:28: error: Geom_Surface.hxx: No such file or directory MakeBottle.cxx:39:33: error: Geom_TrimmedCurve.hxx: No such file or directory MakeBottle.cxx:41:30: error: Geom2d_Ellipse.hxx: No such file or directory MakeBottle.cxx:42:35: error: Geom2d_TrimmedCurve.hxx: No such file or directory MakeBottle.cxx:44:31: error: TopExp_Explorer.hxx: No such file or directory MakeBottle.cxx:46:22: error: TopoDS.hxx: No such file or directory MakeBottle.cxx:47:27: error: TopoDS_Edge.hxx: No such file or directory MakeBottle.cxx:48:27: error: TopoDS_Face.hxx: No such file or directory MakeBottle.cxx:49:27: error: TopoDS_Wire.hxx: No such file or directory MakeBottle.cxx:50:28: error: TopoDS_Shape.hxx: No such file or directory MakeBottle.cxx:51:31: error: TopoDS_Compound.hxx: No such file or directory MakeBottle.cxx:53:36: error: TopTools_ListOfShape.hxx: No such file or directory MakeBottle.cxx:55: error: ‘TopoDS_Shape’ does not name a type |
Experiment result
The g++ library by default is not point to the Occ library.
I think there is probably a way to include the library by default by the compiler. I haven’t gone done those paths yet. I found the library by the following:
jonas@Ubuntu4:/opt/OpenCASCADE6.2.0/samples/tutorial/src$ locate BRep_Tool.hxx /opt/OpenCASCADE6.2.0/ros/inc/BRep_Tool.hxx |
(Experiment 2)Compiling with the OCC library using the -I option
I trying a couple of different ways to get the g++ compiler to recognize OCC library contained in the /opt/OpenCASCADE6.2.0/ros/inc/ directory. Partial results from that are listed below:
jonas@Ubuntu4:/opt/OpenCASCADE6.2.0/samples/tutorial/src$ g++ -I /opt/OpenCASCADE6.2.0/ros/inc MakeBottle.cxx In file included from /opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx:9, from /opt/OpenCASCADE6.2.0/ros/inc/Standard_Address.hxx:21, from /opt/OpenCASCADE6.2.0/ros/inc/Standard.hxx:28, from /opt/OpenCASCADE6.2.0/ros/inc/Handle_Geom_Surface.hxx:29, from /opt/OpenCASCADE6.2.0/ros/inc/BRep_Tool.hxx:29, from MakeBottle.cxx:1: /opt/OpenCASCADE6.2.0/ros/inc/Standard_values.h:35:2: error: #error “check config.h file or compilation options: either HAVE_LIMITS or HAVE_LIMITS_H should be defined” In file included from /opt/OpenCASCADE6.2.0/ros/inc/Standard_OStream.hxx:7, from /opt/OpenCASCADE6.2.0/ros/inc/Standard.hxx:40, from /opt/OpenCASCADE6.2.0/ros/inc/Handle_Geom_Surface.hxx:29, from /opt/OpenCASCADE6.2.0/ros/inc/BRep_Tool.hxx:29, from MakeBottle.cxx:1: /opt/OpenCASCADE6.2.0/ros/inc/Standard_Stream.hxx:19:2: error: #error “check config.h file or compilation options: either HAVE_IOSTREAM or HAVE_IOSTREAM_H should be defined” In file included from /opt/OpenCASCADE6.2.0/ros/inc/Standard_OutOfRange.hxx:33, from /opt/OpenCASCADE6.2.0/ros/inc/gp_Mat.lxx:4, from /opt/OpenCASCADE6.2.0/ros/inc/gp_Mat.hxx:326, from /opt/OpenCASCADE6.2.0/ros/inc/gp_Trsf.hxx:32, from /opt/OpenCASCADE6.2.0/ros/inc/BRepBuilderAPI_Transform.hxx:26, from MakeBottle.cxx:8: /opt/OpenCASCADE6.2.0/ros/inc/Standard_SStream.hxx:23:4: error: #error “check config.h file or compilation options: either HAVE_IOSTREAM or HAVE_IOSTREAM_H should be defined” In file included from /opt/OpenCASCADE6.2.0/ros/inc/Standard_Address.hxx:21, from /opt/OpenCASCADE6.2.0/ros/inc/Standard.hxx:28, from /opt/OpenCASCADE6.2.0/ros/inc/Handle_Geom_Surface.hxx:29, from /opt/OpenCASCADE6.2.0/ros/inc/BRep_Tool.hxx:29, from MakeBottle.cxx:1: /opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx: In function ‘Standard_Integer IntegerFirst()’: /opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx:129: error: ‘INT_MIN’ was not declared in this scope /opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx: In function ‘Standard_Integer IntegerLast()’: /opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx:135: error: ‘INT_MAX’ was not declared in this scope /opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx: In function ‘Standard_Integer IntegerSize()’: /opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx:141: error: ‘CHAR_BIT’ was not declared in this scope In file included from /opt/OpenCASCADE6.2.0/ros/inc/Standard_PrimitiveTypes.hxx:23, from /opt/OpenCASCADE6.2.0/ros/inc/Handle_Standard_Transient.hxx:10, from /opt/OpenCASCADE6.2.0/ros/inc/Handle_MMgt_TShared.hxx:33, from /opt/OpenCASCADE6.2.0/ros/inc/Handle_Geom_Geometry.hxx:33, from /opt/OpenCASCADE6.2.0/ros/inc/Handle_Geom_Surface.hxx:33, from /opt/OpenCASCADE6.2.0/ros/inc/BRep_Tool.hxx:29, from MakeBottle.cxx:1 …………………….. There’s more but this enough to get the idea. |
Ok… the next place MakeBottle.Cxx crapped out was with the config.h files and the variables HAVE_IOSTREAM or HAVE_IOSTREAM_H. I searched the OpenCascade forum and ran across a post saying that the either one or the other should be defined I ran across a post that either one or the other variable should be used and you could delete the variable by using the -D variable.
I tried to a few experiments but I came to the conclusion that my compiler wants to use <iostream> instead of <iostream.h> and so forth. So….. rather the messing with the -D variable, I decided to try making manual edits to the config.h and see what happens. I guess I should point out, I haven’t found documentation or posts to do this, but it seemed logical to me. I guess the results of the next experiment will dictate where or not this was a dumb idea……
It found a few reference to config.h which look like likely suspects. Here they are.
jonas@Ubuntu4:/opt/OpenCASCADE6.2.0/samples/tutorial/src$ locate config.h /opt/OpenCASCADE6.2.0/ros/config.h.in /opt/OpenCASCADE6.2.0/ros/inc/config.h /opt/OpenCASCADE6.2.0/ros/src/WOKTclLib/config.h /opt/OpenCASCADE6.2.0/wok/lib/config.h |
I decide to go try modifying /opt/OpenCASCADE6.2.0/ros/inc/config.h and see what happens.
Here is the unmodified contents of this file:
#ifdef HAVE_WOK_CONFIG_H
/*———————————————————*/ #ifdef LIN /* This part is extracted from config.h generated on Linux */ /* config.h. Generated automatically by configure. */ /* Define to one of /* Define to 1 if using /* define if the compiler allows redefinition of stream input and output */ /* Define to 1 if you have alloca’, as a function or macro. */ #define HAVE_FSTREAM 1 #define HAVE_IOSTREAM 1 /* Define to 1 if you have the <bits/sigset.h> header file. */ /* Define to 1 if you have the <bstring.h> header file. */ /* Define to 1 if you have the <dirent.h> header file. */ /* Define to 1 if you have the <dlfcn.h> header file. */ /* Define to 1 if you have the <dl.h> header file. */ /* Define if we have the Adobe postscript library -ldps. */ /* Define to 1 if you have the <DPS/dpsXclient.h> header file. */ /* Define if we have a function called “finite” in -lm. */ /* Define to 1 if you have the <floatingpoint.h> header file. */ /* Define to 1 if you have the <float.h> header file. */ /* Define to 1 if you have the /* Define to 1 if you have the <getopt.h> header file. */ /* Define to 1 if you have the <ieeefp.h> header file. */ /* Define to 1 if you have the <inttypes.h> header file. */ /* Define to 1 if you have the <iomanip.h> header file. */ /* Define to 1 if you have the <ios> header file. */ /* Define to 1 if you have the <ios.h> header file. */ /* Define to 1 if you have the <istream.h> header file. */ /* Define to 1 if you have the <libc.h> header file. */ /* Define to 1 if you have the e’ library (-le). */ /* Define to 1 if you have the /* Define to 1 if you have the <limits> header file. */ /* Define if we have a function called "mallinfo" in -lmalloc. */ /* Define to 1 if you have the <malloc.h> header file. */ /* Define to 1 if you have the <memory.h> header file. */ /* Define to 1 if you have the <ndir.h> header file. */ /* Define to 1 if you have the <netdb.h> header file. */ /* Define to 1 if you have the <net/if.h> header file. */ /* Define to 1 if you have the <osfcn.h> header file. */ /* Define if you have the putenv’ function. */ /* Define to 1 if you have the <pwd.h> header file. */ /* Define to 1 if you have the /* Define to 1 if you have the re_comp’ function. */ /* Define to 1 if you have the <sigfpe.h> header file. */ /* Define to 1 if you have the <siginfo.h> header file. */ /* Define to 1 if you have the <signal.h> header file. */ /* Define to 1 if you have the /* Define to 1 if you have the statvfs’ function. */ /* Define to 1 if you have the <stdint.h> header file. */ /* Define to 1 if you have the <stdlib.h> header file. */ /* Define to 1 if you have the /* Define to 1 if you have the strdup’ function. */ /* Define to 1 if you have the <stream.h> header file. */ /* Define to 1 if you have the <strings.h> header file. */ /* Define to 1 if you have the <string.h> header file. */ /* Define to 1 if you have the <strstream.h> header file. */ /* Define if you have the /* Define if we have a function called "ieee_handler" in -lsunmath. */ /* Define to 1 if you have the <sysent.h> header file. */ /* Define to 1 if you have the <sys/dir.h> header file. */ /* Define to 1 if you have the <sys/filio.h> header file. */ /* Define to 1 if you have the <sys/ioctl.h> header file. */ /* Define to 1 if you have the <sys/ipc.h> header file. */ /* Define to 1 if you have the <sys/machsig.h> header file. */ /* Define to 1 if you have the <sys/mman.h> header file. */ /* Define to 1 if you have the <sys/ndir.h> header file. */ /* Define to 1 if you have the <sys/param.h> header file. */ /* Define to 1 if you have the <sys/select.h> header file. */ /* Define to 1 if you have the <sys/sem.h> header file. */ /* Define to 1 if you have the <sys/siginfo.h> header file. */ /* Define to 1 if you have the <sys/signal.h> header file. */ /* Define to 1 if you have the <sys/socket.h> header file. */ /* Define to 1 if you have the <sys/statvfs.h> header file. */ /* Define to 1 if you have the <sys/stat.h> header file. */ /* Define to 1 if you have the <sys/systeminfo.h> header file. */ /* Define to 1 if you have the <sys/times.h> header file. */ /* Define to 1 if you have the <sys/time.h> header file. */ /* Define to 1 if you have the <sys/types.h> header file. */ /* Define to 1 if you have the <sys/unistd.h> header file. */ /* Define to 1 if you have the <sys/utsname.h> header file. */ /* Define to 1 if you have the <sys/vfs.h> header file. */ /* Define to 1 if you have the <sys/vnode.h> header file. */ /* Define to 1 if you have the <time.h> header file. */ /* Define to 1 if you have the <unistd.h> header file. */ /* Define to 1 if you have the <values.h> header file. */ /* Define to 1 if you have the <X11/extensions/multibuf.h> header file. */ /* Define to 1 if you have the <X11/extensions/readdisplay.h> header file. */ /* Define to 1 if you have the <X11/extensions/transovl.h> header file. */ /* Define if your C compiler doesn't accept -c and -o together. */ /* define if the class ostream has member function form */ /* Name of package */ /* Define if compiler has function prototypes */ /* Define as the return type of signal handlers (int’ or /* define if the function semctl takes a value */ /* define if the function semop takes a value */ /* define if semun has member __buf */ /* define if the union semun is in sys/sem.h */ /* If using the C implementation of alloca, define if you know the /* Define if you have the ANSI C header files. */ /* Define if your <sys/time.h> declares struct tm’. */ /* Version number of package */ /* Define if your processor stores words with the most significant byte first /* Define if on AIX 3. /* Define if you need to in order for stat and other things to work. */ /* Define to /* End Linux Part */ /*---------------------------------------------------------*/ #elif SOLARIS /* config.h. Generated automatically by configure. */ /* Define to one of _getb67′, /* Define if using alloca.c’. */ #define HAVE_IOSTREAM_H 1 /* define if the compiler allows redefinition of stream input and output */ /* Define if you have /* Define if you have <alloca.h> and it should be used (not on Ultrix). */ /* Define if you have the <bits/sigset.h> header file. */ /* Define if you have the <bstring.h> header file. */ /* Define if you have the <dirent.h> header file. */ /* Define if you have the <dlfcn.h> header file. */ /* Define if you have the <dl.h> header file. */ /* Define if we have the Adobe postscript library -ldps. */ /* Define if you have the <DPS/dpsXclient.h> header file. */ /* Define if we have a function called "finite" in -lm. */ /* Define if you have the <floatingpoint.h> header file. */ /* Define if you have the <float.h> header file. */ /* Define if you have the gethostname’ function. */ /* Define if you have the <getopt.h> header file. */ /* Define if you have the <ieeefp.h> header file. */ /* Define if you have the <inttypes.h> header file. */ /* Define if you have the <iomanip.h> header file. */ /* Define if you have the <istream.h> header file. */ /* Define if you have the <fstream> header file. */ /* Define if you have the <strstream> header file. */ /* Define if you have the <libc.h> header file. */ /* Define if you have the /* Define if you have the inks’ library (-links). */ /* Define if you have the <limits.h> header file. */ /* Define if we have a function called “mallinfo” in -lmalloc. */ /* Define if you have the <malloc.h> header file. */ /* Define if you have the <memory.h> header file. */ /* Define if you have the <ndir.h> header file. */ /* Define if you have the <netdb.h> header file. */ /* Define if you have the <net/if.h> header file. */ /* Define if you have the <osfcn.h> header file. */ /* Define if you have the /* Define if you have the <pwd.h> header file. */ /* Define if you have the regcomp’ function. */ /* Define if you have the /* Define if you have the <sigfpe.h> header file. */ /* Define if you have the <siginfo.h> header file. */ /* Define if you have the <signal.h> header file. */ /* Define if you have the statfs’ function. */ /* Define if you have the /* Define if you have the <stdlib.h> header file. */ /* Define if you have the strcspn’ function. */ /* Define if you have the /* Define if you have the <stream.h> header file. */ /* Define if you have the <strings.h> header file. */ /* Define if you have the <string.h> header file. */ /* Define if you have the <strstream.h> header file. */ /* Define if you have the strtol’ function. */ /* Define if we have a function called “ieee_handler” in -lsunmath. */ /* Define if you have the <sysent.h> header file. */ /* Define if you have the <sys/dir.h> header file. */ /* Define if you have the <sys/filio.h> header file. */ /* Define if you have the <sys/ioctl.h> header file. */ /* Define if you have the <sys/ipc.h> header file. */ /* Define if you have the <sys/machsig.h> header file. */ /* Define if you have the <sys/mman.h> header file. */ /* Define if you have the <sys/ndir.h> header file. */ /* Define if you have the <sys/param.h> header file. */ /* Define if you have the <sys/select.h> header file. */ /* Define if you have the <sys/sem.h> header file. */ /* Define if you have the <sys/siginfo.h> header file. */ /* Define if you have the <sys/signal.h> header file. */ /* Define if you have the <sys/socket.h> header file. */ /* Define if you have the <sys/statvfs.h> header file. */ /* Define if you have the <sys/stat.h> header file. */ /* Define if you have the <sys/systeminfo.h> header file. */ /* Define if you have the <sys/times.h> header file. */ /* Define if you have the <sys/time.h> header file. */ /* Define if you have the <sys/types.h> header file. */ /* Define if you have the <sys/unistd.h> header file. */ /* Define if you have the <sys/utsname.h> header file. */ /* Define if you have the <sys/vfs.h> header file. */ /* Define if you have the <sys/vnode.h> header file. */ /* Define if you have the <time.h> header file. */ /* Define if you have the <unistd.h> header file. */ /* Define if you have the <values.h> header file. */ /* Define if you have the <X11/extensions/multibuf.h> header file. */ /* Define if you have the <X11/extensions/readdisplay.h> header file. */ /* Define if you have the <X11/extensions/transovl.h> header file. */ /* Define if your C compiler doesn’t accept -c and -o together. */ /* define if the class ostream has member function form */ /* Name of package */ /* Define if compiler has function prototypes */ /* Define as the return type of signal handlers ( /* define if the function semctl takes a value */ /* define if the function semop takes a value */ /* define if semun has member __buf */ /* define if the union semun is in sys/sem.h */ /* If using the C implementation of alloca, define if you know the /* Define if you have the ANSI C header files. */ /* Define if your <sys/time.h> declares /* Version number of package */ /* Define if your processor stores words with the most significant byte first /* Define if on AIX 3. /* Define if you need to in order for stat and other things to work. */ /* Define to unsigned’ if <sys/types.h> does not define. */ /* End Solaris Part */ /*———————————————————*/ #elif IRIX /* config.h. Generated automatically by configure. */ /* Define to one of /* Define to 1 if using /* define if the compiler allows redefinition of stream input and output */ /* Define to 1 if you have alloca’, as a function or macro. */ /* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). /* Define to 1 if you have the <bits/sigset.h> header file. */ /* Define to 1 if you have the <bstring.h> header file. */ /* Define to 1 if you have the <dirent.h> header file. */ /* Define to 1 if you have the <dlfcn.h> header file. */ /* Define to 1 if you have the <dl.h> header file. */ /* Define to 1 if you have the <DPS/dpsXclient.h> header file. */ /* Define if we have a function called “finite” in -lm. */ /* Define to 1 if you have the <floatingpoint.h> header file. */ /* Define to 1 if you have the <float.h> header file. */ /* Define to 1 if you have the <fstream> header file. */ /* Define to 1 if you have the <fstream.h> header file. */ /* Define to 1 if you have the /* Define to 1 if you have the <getopt.h> header file. */ /* Define to 1 if you have the <ieeefp.h> header file. */ /* Define to 1 if you have the <inttypes.h> header file. */ /* Define to 1 if you have the <iomanip> header file. */ /* Define to 1 if you have the <iomanip.h> header file. */ /* Define to 1 if you have the <ios> header file. */ /* Define to 1 if you have the <iostream> header file. */ /* Define to 1 if you have the <iostream.h> header file. */ /* Define to 1 if you have the <ios.h> header file. */ /* Define to 1 if you have the <istream> header file. */ /* Define to 1 if you have the <istream.h> header file. */ /* Define to 1 if you have the <libc.h> header file. */ /* Define to 1 if you have the e’ library (-le). */ /* Define to 1 if you have the /* Define to 1 if you have the <limits.h> header file. */ /* Define if we have a function called "mallinfo" in -lmalloc. */ /* Define to 1 if you have the <malloc.h> header file. */ /* Define to 1 if you have the <memory.h> header file. */ /* Define to 1 if you have the <ndir.h> header file. */ /* Define to 1 if you have the <netdb.h> header file. */ /* Define to 1 if you have the <net/if.h> header file. */ /* Define to 1 if you have the <osfcn.h> header file. */ /* Define to 1 if you have the <ostream> header file. */ /* Define to 1 if you have the <ostream.h> header file. */ /* Define to 1 if you have the putenv’ function. */ /* Define to 1 if you have the <pwd.h> header file. */ /* Define to 1 if you have the /* Define to 1 if you have the re_comp’ function. */ /* Define to 1 if you have the <sigfpe.h> header file. */ /* Define to 1 if you have the <siginfo.h> header file. */ /* Define to 1 if you have the <signal.h> header file. */ /* Define to 1 if you have the /* Define to 1 if you have the statvfs’ function. */ /* Define to 1 if you have the <stdint.h> header file. */ /* Define to 1 if you have the <stdlib.h> header file. */ /* Define to 1 if you have the /* Define to 1 if you have the strdup’ function. */ /* Define to 1 if you have the <stream.h> header file. */ /* Define to 1 if you have the <strings.h> header file. */ /* Define to 1 if you have the <string.h> header file. */ /* Define to 1 if you have the <strstream.h> header file. */ /* Define to 1 if you have the /* Define if we have a function called "ieee_handler" in -lsunmath. */ /* Define to 1 if you have the <sysent.h> header file. */ /* Define to 1 if you have the <sys/dir.h> header file. */ /* Define to 1 if you have the <sys/filio.h> header file. */ /* Define to 1 if you have the <sys/ioctl.h> header file. */ /* Define to 1 if you have the <sys/ipc.h> header file. */ /* Define to 1 if you have the <sys/machsig.h> header file. */ /* Define to 1 if you have the <sys/mman.h> header file. */ /* Define to 1 if you have the <sys/ndir.h> header file. */ /* Define to 1 if you have the <sys/param.h> header file. */ /* Define to 1 if you have the <sys/select.h> header file. */ /* Define to 1 if you have the <sys/sem.h> header file. */ /* Define to 1 if you have the <sys/siginfo.h> header file. */ /* Define to 1 if you have the <sys/signal.h> header file. */ /* Define to 1 if you have the <sys/socket.h> header file. */ /* Define to 1 if you have the <sys/statvfs.h> header file. */ /* Define to 1 if you have the <sys/stat.h> header file. */ /* Define to 1 if you have the <sys/systeminfo.h> header file. */ /* Define to 1 if you have the <sys/times.h> header file. */ /* Define to 1 if you have the <sys/time.h> header file. */ /* Define to 1 if you have the <sys/types.h> header file. */ /* Define to 1 if you have the <sys/unistd.h> header file. */ /* Define to 1 if you have the <sys/utsname.h> header file. */ /* Define to 1 if you have the <sys/vfs.h> header file. */ /* Define to 1 if you have the <sys/vnode.h> header file. */ /* Define to 1 if you have the <time.h> header file. */ /* Define to 1 if you have the <unistd.h> header file. */ /* Define to 1 if you have the <values.h> header file. */ /* Define to 1 if you have the <X11/extensions/multibuf.h> header file. */ /* Define to 1 if you have the <X11/extensions/readdisplay.h> header file. */ /* Define to 1 if you have the <X11/extensions/transovl.h> header file. */ /* Define to 1 if you have the <Xmu/Editres.h> header file. */ /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* define if the class ostream has member function form */ /* Name of package */ /* Define to the address where bug reports for this package should be sent. */ /* Define to the full name of this package. */ /* Define to the full name and version of this package. */ /* Define to the one symbol short name of this package. */ /* Define to the version of this package. */ /* Define if compiler has function prototypes */ /* Define as the return type of signal handlers (int’ or /* define if the function semctl takes a value */ /* define if the function semop takes a value */ /* define if semun has member __buf */ /* define if the union semun is in sys/sem.h */ /* If using the C implementation of alloca, define if you know the /* Define to 1 if you have the ANSI C header files. */ /* Define to 1 if your <sys/time.h> declares struct tm’. */ /* Version number of package */ /* Define to 1 if your processor stores words with the most significant byte /* Define to 1 if on AIX 3. /* Define to /* End IRIX Part */ #elif IRIX64 /* Define to 1 if using alloca.c’. */ /* define if the compiler allows redefinition of stream input and output */ /* Define to 1 if you have /* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). /* Define to 1 if you have the <bits/sigset.h> header file. */ /* Define to 1 if you have the <bstring.h> header file. */ /* Define to 1 if you have the <dirent.h> header file. */ /* Define to 1 if you have the <dlfcn.h> header file. */ /* Define to 1 if you have the <dl.h> header file. */ /* Define to 1 if you have the <DPS/dpsXclient.h> header file. */ /* Define if we have a function called "finite" in -lm. */ /* Define to 1 if you have the <floatingpoint.h> header file. */ /* Define to 1 if you have the <float.h> header file. */ /* Define to 1 if you have the <fstream> header file. */ /* Define to 1 if you have the <fstream.h> header file. */ /* Define to 1 if you have the gethostname’ function. */ /* Define to 1 if you have the <getopt.h> header file. */ /* Define to 1 if you have the <ieeefp.h> header file. */ /* Define to 1 if you have the <inttypes.h> header file. */ /* Define to 1 if you have the <iomanip> header file. */ /* Define to 1 if you have the <iomanip.h> header file. */ /* Define to 1 if you have the <ios> header file. */ /* Define to 1 if you have the <iostream> header file. */ /* Define to 1 if you have the <iostream.h> header file. */ /* Define to 1 if you have the <ios.h> header file. */ /* Define to 1 if you have the <istream> header file. */ /* Define to 1 if you have the <istream.h> header file. */ /* Define to 1 if you have the <libc.h> header file. */ /* Define to 1 if you have the /* Define to 1 if you have the inks’ library (-links). */ /* Define to 1 if you have the <limits.h> header file. */ /* Define if we have a function called “mallinfo” in -lmalloc. */ /* Define to 1 if you have the <malloc.h> header file. */ /* Define to 1 if you have the <memory.h> header file. */ /* Define to 1 if you have the <ndir.h> header file. */ /* Define to 1 if you have the <netdb.h> header file. */ /* Define to 1 if you have the <net/if.h> header file. */ /* Define to 1 if you have the <osfcn.h> header file. */ /* Define to 1 if you have the <ostream> header file. */ /* Define to 1 if you have the <ostream.h> header file. */ /* Define to 1 if you have the /* Define to 1 if you have the <pwd.h> header file. */ /* Define to 1 if you have the regcomp’ function. */ /* Define to 1 if you have the /* Define to 1 if you have the <sigfpe.h> header file. */ /* Define to 1 if you have the <siginfo.h> header file. */ /* Define to 1 if you have the <signal.h> header file. */ /* Define to 1 if you have the statfs’ function. */ /* Define to 1 if you have the /* Define to 1 if you have the <stdint.h> header file. */ /* Define to 1 if you have the <stdlib.h> header file. */ /* Define to 1 if you have the strcspn’ function. */ /* Define to 1 if you have the /* Define to 1 if you have the <stream.h> header file. */ /* Define to 1 if you have the <strings.h> header file. */ /* Define to 1 if you have the <string.h> header file. */ /* Define to 1 if you have the <strstream.h> header file. */ /* Define to 1 if you have the strtol’ function. */ /* Define if we have a function called “ieee_handler” in -lsunmath. */ /* Define to 1 if you have the <sysent.h> header file. */ /* Define to 1 if you have the <sys/dir.h> header file. */ /* Define to 1 if you have the <sys/filio.h> header file. */ /* Define to 1 if you have the <sys/ioctl.h> header file. */ /* Define to 1 if you have the <sys/ipc.h> header file. */ /* Define to 1 if you have the <sys/machsig.h> header file. */ /* Define to 1 if you have the <sys/mman.h> header file. */ /* Define to 1 if you have the <sys/ndir.h> header file. */ /* Define to 1 if you have the <sys/param.h> header file. */ /* Define to 1 if you have the <sys/select.h> header file. */ /* Define to 1 if you have the <sys/sem.h> header file. */ /* Define to 1 if you have the <sys/siginfo.h> header file. */ /* Define to 1 if you have the <sys/signal.h> header file. */ /* Define to 1 if you have the <sys/socket.h> header file. */ /* Define to 1 if you have the <sys/statvfs.h> header file. */ /* Define to 1 if you have the <sys/stat.h> header file. */ /* Define to 1 if you have the <sys/systeminfo.h> header file. */ /* Define to 1 if you have the <sys/times.h> header file. */ /* Define to 1 if you have the <sys/time.h> header file. */ /* Define to 1 if you have the <sys/types.h> header file. */ /* Define to 1 if you have the <sys/unistd.h> header file. */ /* Define to 1 if you have the <sys/utsname.h> header file. */ /* Define to 1 if you have the <sys/vfs.h> header file. */ /* Define to 1 if you have the <sys/vnode.h> header file. */ /* Define to 1 if you have the <time.h> header file. */ /* Define to 1 if you have the <unistd.h> header file. */ /* Define to 1 if you have the <values.h> header file. */ /* Define to 1 if you have the <X11/extensions/multibuf.h> header file. */ /* Define to 1 if you have the <X11/extensions/readdisplay.h> header file. */ /* Define to 1 if you have the <X11/extensions/transovl.h> header file. */ /* Define to 1 if you have the <Xmu/Editres.h> header file. */ /* Define to 1 if your C compiler doesn’t accept -c and -o together. */ /* define if the class ostream has member function form */ /* Name of package */ /* Define to the address where bug reports for this package should be sent. */ /* Define to the full name of this package. */ /* Define to the full name and version of this package. */ /* Define to the one symbol short name of this package. */ /* Define to the version of this package. */ /* Define if compiler has function prototypes */ /* Define as the return type of signal handlers ( /* define if the function semctl takes a value */ /* define if the function semop takes a value */ /* define if semun has member __buf */ /* define if the union semun is in sys/sem.h */ /* If using the C implementation of alloca, define if you know the /* Define to 1 if you have the ANSI C header files. */ /* Define to 1 if your <sys/time.h> declares /* Version number of package */ /* Define to 1 if your processor stores words with the most significant byte /* Define to 1 if on AIX 3. /* Define to unsigned’ if <sys/types.h> does not define. */ /*———————————————————*/ #elif HPUX #define WORDS_BIGENDIAN 1 #define HAVE_FSTREAM_H 1 #define HAVE_IOSTREAM_H 1 #define HAVE_IOMANIP_H 1 /* Define if you have the <sys/utsname.h> header file. */ /* Define if you have the <malloc.h> header file. */ /* Define if you have the <sys/mman.h> header file. */ /* Define if you have the <sys/stat.h> header file. */ /* Define if you have the <unistd.h> header file. */ /* Define if you have the <sys/unistd.h> header file. */ /* Define if you have the <sys/ipc.h> header file. */ /* Define if you have the <sys/sem.h> header file. */ /* Define if you have the <sys/vfs.h> header file. */ /* Define if you have the <sys/times.h> header file. */ /* Define if you have the <dl.h> header file. */ /* Define if you have the <netdb.h> header file. */ /* Define if you have the <sys/ioctl.h> header file. */ /* End HPUX Part */ #endif /*——————————————————— */ #endif |
(Experiment 3)Modifying the opencascade file, to try to eliminated the either or Error
3.0 /* EXPERIMENT 3.0 2008-07-26 REM OUT HAVE_LIMITS_H and see what happens
#define HAVE_LIMITS_H 1 */
result:
jonas@Ubuntu4:/opt/OpenCASCADE6.2.0/samples/tutorial/src$ g++ -I /opt/OpenCASCADE6.2.0/ros/inc MakeBottle.cxx In file included from /opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx:9, from /opt/OpenCASCADE6.2.0/ros/inc/Standard_Address.hxx:21, from /opt/OpenCASCADE6.2.0/ros/inc/Standard.hxx:28, from /opt/OpenCASCADE6.2.0/ros/inc/Handle_Geom_Surface.hxx:29, from /opt/OpenCASCADE6.2.0/ros/inc/BRep_Tool.hxx:29, from MakeBottle.cxx:1: /opt/OpenCASCADE6.2.0/ros/inc/Standard_values.h:35:2: error: #error “check config.h file or compilation options: either HAVE_LIMITS or HAVE_LIMITS_H should be defined” In file included from /opt/OpenCASCADE6.2.0/ros/inc/Standard_OStream.hxx:7, from /opt/OpenCASCADE6.2.0/ros/inc/Standard.hxx:40, from /opt/OpenCASCADE6.2.0/ros/inc/Handle_Geom_Surface.hxx:29, from /opt/OpenCASCADE6.2.0/ros/inc/BRep_Tool.hxx:29, from MakeBottle.cxx:1: /opt/OpenCASCADE6.2.0/ros/inc/Standard_Stream.hxx:19:2: error: #error “check config.h file or compilation options: either HAVE_IOSTREAM or HAVE_IOSTREAM_H should be defined” In file included from /opt/OpenCASCADE6.2.0/ros/inc/Standard_OutOfRange.hxx:33, from /opt/OpenCASCADE6.2.0/ros/inc/gp_Mat.lxx:4, from /opt/OpenCASCADE6.2.0/ros/inc/gp_Mat.hxx:326, from /opt/OpenCASCADE6.2.0/ros/inc/gp_Trsf.hxx:32, from /opt/OpenCASCADE6.2.0/ros/inc/BRepBuilderAPI_Transform.hxx:26, from MakeBottle.cxx:8: /opt/OpenCASCADE6.2.0/ros/inc/Standard_SStream.hxx:23:4: error: #error “check config.h file or compilation options: either HAVE_IOSTREAM or HAVE_IOSTREAM_H should be defined” In file included from /opt/OpenCASCADE6.2.0/ros/inc/Standard_Address.hxx:21, from /opt/OpenCASCADE6.2.0/ros/inc/Standard.hxx:28, from /opt/OpenCASCADE6.2.0/ros/inc/Handle_Geom_Surface.hxx:29, from /opt/OpenCASCADE6.2.0/ros/inc/BRep_Tool.hxx:29, from MakeBottle.cxx:1: |
Experiment 3.0.1 It appears that HAVE_LIMITS_H is defined in a bunch of places. I rem’d them all out. Here we go again
Experiment 3.0.2 It seems like HAVE_LIMITS is not defined. I tried to define and rerun to see what happens.
Something is not making sense here….. There seems to be no affect at this point.
Here seems to be the code segment that’s triggering first error inStandard_values.h
#if defined(_MSC_VER) && !defined(WNT) #error “Wrong compiler options has been detected. Add /DWNT option for proper compilation!!!!!” #endif #ifndef WNT #ifdef HAVE_LIMITS |
Hm.. I need to research this a little more….
I ran across this on the OCC website.
http://www.opencascade.com/pub/doc/Release_Notes_6.1.pdf
“2. In order to exclude the possibility of collisions between the $CASROOT/inc/config.h file supplied with binary distribution and the $CASROOT/config.h file generated by configure script, a step of creation of a symbolic link between $CASROOT/inc/config.h and $CASROOT/config.h has been added to the configure script, so if the user executes configuration the $CASROOT/inc/config.h file supplied with binary distribution will be replaced by the generated one.” |
It looks like I was messing with symlink and I didn’t realize it. Although these notes where for 6.1, My gut tells me 6.2 is slightly different. Either that or I really hosed something.
I’m trying another experiment.
I just ran ./configure in the /opt/OpenCASCADE6.2.0/ros subdirectory. I just tried DRAWEXE it doesn’t work anymore from any Directory(another think to worry about)
I’m going rename my handy work than then symlink it to the $CASROOT/inc/config.h and see what happens.
I googled part of my error message and found to suggestion to try this.
jonas@Ubuntu4:/opt/OpenCASCADE6.2.0/samples/tutorial/src$ g++ -I /opt/OpenCASCADE6.2.0/ros/inc -DHAVE_IOSTREAM -DHAVE_LIMITS MakeBottle.cxx In file included from /opt/OpenCASCADE6.2.0/ros/inc/Standard_Address.hxx:21, from /opt/OpenCASCADE6.2.0/ros/inc/Standard.hxx:28, from /opt/OpenCASCADE6.2.0/ros/inc/Handle_Geom_Surface.hxx:29, from /opt/OpenCASCADE6.2.0/ros/inc/BRep_Tool.hxx:29, from MakeBottle.cxx:1: /opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx: In function ‘Standard_Integer IntegerFirst()’: /opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx:129: error: ‘INT_MIN’ was not declared in this scope /opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx: In function ‘Standard_Integer IntegerLast()’: /opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx:135: error: ‘INT_MAX’ was not declared in this scope /opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx: In function ‘Standard_Integer IntegerSize()’: /opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx:141: error: ‘CHAR_BIT’ was not declared in this scope In file included from /opt/OpenCASCADE6.2.0/ros/inc/gp_Mat.hxx:326, from /opt/OpenCASCADE6.2.0/ros/inc/gp_Trsf.hxx:32, from /opt/OpenCASCADE6.2.0/ros/inc/BRepBuilderAPI_Transform.hxx:26, from MakeBottle.cxx:8: /opt/OpenCASCADE6.2.0/ros/inc/gp_Mat.lxx: In member function ‘void gp_Mat::SetValue(Standard_Integer, Standard_Integer, Standa…….. more |
This is strange since, I’m not seeing this error pop up when I google this. Perhaps this is something that so elementary, that people just fix it?? It appears that #include tripped out the error….
In Standard_Address.hxx
Searching reveals:
/opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx
/opt/OpenCASCADE6.2.0/ros/src/Standard/Standard_Integer.hxx
Contents of Standard_integer.hxx reveals:
#ifndef _Standard_Integer_HeaderFile #define _Standard_Integer_HeaderFile#ifndef _Standard_TypeDef_HeaderFile #include <Standard_TypeDef.hxx> #endif#ifndef _Standard_values_HeaderFile # include <Standard_values.h> #endifclass Handle_Standard_Type;__Standard_API Handle_Standard_Type& Standard_Integer_Type_(); // =============================================== // Methods from Standard_Entity class which are redefined: // – Hascode // – IsEqual // – IsSimilar // – Shallowcopy // – ShallowDump // ===============================================// ================================== // Methods implemeted in Standard_Integer.cxx // ================================== __Standard_API Standard_Integer NextPrimeForMap(const Standard_Integer anInt ) ; __Standard_API long NextPrime (const long me); __Standard_API Standard_Integer CharToInt (const Standard_Character me); __Standard_API Standard_Integer CharToInt (const Standard_CString me); __Standard_API Standard_Integer ShallowCopy (const Standard_Integer me); //__Standard_API Standard_Integer HashCode (const Standard_Integer, const Standard_Integer);// =============== // Inline methods // ===============// —————————————————————— // Abs : Returns the absolute value of an Integer // —————————————————————— inline Standard_Integer Abs (const Standard_Integer Value) { if ( Value >= 0 ) return Value; else return -Value; } // —————————————————————— // —————————————————————— // —————————————————————— // —————————————————————— // —————————————————————— // —————————————————————— // —————————————————————— // —————————————————————— // —————————————————————— // —————————————————————— // —————————————————————— // —————————————————————— #endif |
Ok… My hypothesis is that this is something that got over looked when config.h was generated.
Also up to now, must of the error has been in C code this seem to be the first C++ code I’ve hit…
Hmmm. I’ve been reading Bruce Ekels’ thinking in C++. I seem to recall a elementary program for return sizes… C03:Specify.cpp
char= 1 unsigned char = 1 int = 4 unsigned int = 4 short = 2 unsigned short = 2 long = 4 unsigned long = 4 float = 4 double = 8 long double = 12 |
Well here’s the question do they mean min (negative)/ max value of a plain old int?
I guess we’ll try 32 bit which will cover my bases for int and long which is -2,147,483,648 to +2,147,483,647
This seems sort of silly that the code can’t figure this out, so I’m somewhat skeptical plopping
#define INT_MIN -2,147,483,648 into config.h is going to work… Hold on… I searched on this and it seems that INT_MIN is defined in limits.h??? So…. I suppose if I add this to MakeBottle.cxx this should take care of this… That makes sense….
Just out of curiosity, I’m going to do a quick search on limits.h and MakeBottle.cxx and see what pops up. Nothing on that… Go figure.. Well adding limits.h to MakeBottle.cxx definately did something. I need to redirect compiler output to a file now since so much text is being generated… More promising… I hope.
I just ran across this really cool link:http://www.codefighter.com/linux1.html when I was trying to figure out how to redirect g++ (“>” doesn’t work “2>” does… ???)
It seems that the next most irritating thing is the “deprecated conversion from string constant to ‘char*’” message that pops up all over the place. It sort of hides the trees from the forest. I suppose its time to research that.
This is interesting:http://gcc.gnu.org/ml/gcc-help/2007-02/msg00078.htm
As is this:http://dilbert.physics.wm.edu/elog/Software/191
I guess I can ignore that for now, but sure is irritating.
Ignoring that this seems to be the next issue.
/tmp/ccuDXf0A.o: In function MakeBottle(double, double, double)': GC_MakeArcOfCircle::GC_MakeArcOfCircle(gp_Pnt const&, gp_Pnt const&, gp_Pnt const&)’MakeBottle.cxx:(.text+0x32f): undefined reference to GC_MakeArcOfCircle::operator Handle_Geom_TrimmedCurve() const' GC_MakeSegment::GC_MakeSegment(gp_Pnt const&, gp_Pnt const&)’MakeBottle.cxx:(.text+0x39b): undefined reference to GC_MakeSegment::operator Handle_Geom_TrimmedCurve() const' GC_MakeSegment::GC_MakeSegment(gp_Pnt const&, gp_Pnt const&)’MakeBottle.cxx:(.text+0x3fe): undefined reference to GC_MakeSegment::operator Handle_Geom_TrimmedCurve() const' BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(Handle_Geom_Curve const&)’MakeBottle.cxx:(.text+0x45d): undefined reference to BRepBuilderAPI_MakeEdge::operator TopoDS_Edge() const' BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(Handle_Geom_Curve const&)’MakeBottle.cxx:(.text+0x4c2): undefined reference to BRepBuilderAPI_MakeEdge::operator TopoDS_Edge() const' BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(Handle_Geom_Curve const&)’MakeBottle.cxx:(.text+0x527): undefined reference to BRepBuilderAPI_MakeEdge::operator TopoDS_Edge() const' BRepBuilderAPI_MakeWire::BRepBuilderAPI_MakeWire(TopoDS_Edge const&, TopoDS_Edge const&, TopoDS_Edge const&)’ |
I wonder where that is…. I suspect I can fix this with -I statement.
It looks like it can find #include <GC_MakeArcOfCircle.hxx>
That’s strange since this is where its located:
/opt/OpenCASCADE6.2.0/ros/inc/GC_MakeArcOfCircle.hxx
and my current compiler string is:
g++ -I /opt/OpenCASCADE6.2.0/ros/inc -DHAVE_IOSTREAM -DHAVE_LIMITS MakeBottle.cxx 2> MakeBottle.errors
I guess I need to delve into GC_MakeArcOfCircle.hxx. I looked into the header references so they all seem to be covered by the -I /opt/OpenCASCADE6.2.0/ros/inc so I’m barking up the wrong tree here….
My five year old want to play, so…. that it for now folks….
OK. I’m back I was just thinking. I’m thinking that I shouldn’t have added that limits.h to the MakeBottle.cxx file. I should realized that the original file had the HAVE_LIMITS AND HAVE_LIMIT_H constants in them that seem to have been deleted when I ran ./configure.
Experiment: remove -DHAVE_LIMITS from compiler string.
this resulted in the following error:
/opt/OpenCASCADE6.2.0/ros/inc/Standard_values.h:35:2: error: #error “check config.h file or compilation options: either HAVE_LIMITS or HAVE_LIMITS_H should be defined”
Back to config.h Need to search for the occurence of HAVE_LIMITS and HAVE_LIMITS_H.
Have HAVE_LIMITS_H is defined. This is bizare. I think some how the HAVE_LIMITS somewhere other than config.h.
Experiment: remove _DHAVE_LIMITS from compile string and delete #include <limits.h> from MakeBottle.cxx
This seems to generate an error where I think it shouldn’t. This is most strange. I wonder how config.h if loaded by the compiler.
Experiment just for snicks and grins I want to see what happens if I include config.h in MakeBottle.cxx Ok…. I wonder if this is a question for the forum.
I think I’ll leave #include config.h in MakeBottle.cxx for now.
These leave the current error as:
MakeBottle.cxx:(.text+0x31d): undefined reference to GC_MakeArcOfCircle::GC_MakeArcOfCircle(gp_Pnt const&, gp_Pnt const&, gp_Pnt const&)'
GC_MakeArcOfCircle::operator Handle_Geom_TrimmedCurve() const’
MakeBottle.cxx:(.text+0x32f): undefined reference to
MakeBottle.cxx:(.text+0x35c): undefined reference to GC_MakeSegment::GC_MakeSegment(gp_Pnt const&, gp_Pnt const&)'
GC_MakeSegment::operator Handle_Geom_TrimmedCurve() const’
MakeBottle.cxx:(.text+0x39b): undefined reference to
Ma ……………
This requires a little thought.
I think I probably need need a reference to where the libraries are. The file structure is specified here:http://www.opencascade.org/org/gettingstarted/install/lunix
Experiment: add ros/lin to the compiler string.
This didn’t do anything. I ran across the DRAWEXE executable. I had it originally setup to execute from any directory. It stopped working after I ran ./CONFIGURE I thought was a minor glitch with the path getting overwritten or something. I just tried running it directly and it won’t fire up…. EECCCH. I think I may have really hosed something up… Are we having fun yet?????
I don’t have anything to add here… but being completely new to OpenCascade (and C++ programming), I’ve found myself scavenging the web for ways of going through their tutorials. Their projects seems VERY unintuitive, very difficult to use “out of the box,” and grossly under documented. Speaking of “MakeBottle,” I find it interesting that their “MakeBottle.cxx” file is written completely different than as obtained through the “Sample” menu in DRAW. Is this a consequence of using class based structures (.cxx) vs DRAW syntax? I guess. But, why present a tutorial such as MakeBottle.cxx when you can’t even run it? Very frustrating… This, I presume, is why people pay big bucks for more user-friendly CAD software. Also, I’m hypothesizing that that OpenCascade is more designed for Windows OS (just a guess). Anyways, I felt like venting after reading your entry above. Thanks for sharing.