Entries Tagged as ''

Starting to learn about QT.

I was searching around the net looking for some sights about QT and I ran into this:

http://www.digitalfanatics.org/index.php?title=Main_Page

It looks very interesting to me.
I’ve been some issues with spammers lately…. Can’t you guys just go away…

Getting qtdemo to run in Hardy Heron Ubuntu Linux 8.04

Life has been getting keeping me from playing around with Qt and Opencascade lately.
I wanted to get qtdemo working in Ubuntu and was having one heck of time.    This qt stuff looks like it has lots of potential.  I think I’m almost got the demo working.  My saga continues at http://ubuntuforums.org/showthread.php?t=892507

I also ran across some makefile stuff on the opencascade forum that looks of interest to me.
Help with OpenCascade 6.2 on ubuntu hardy – beginner

Anyway…. I”m trying to get qtdemo to loadup with is apparently contained qt-demos in the hardy-backports…

I like using synaptic/ APT  to load up the file but I don’t want to load up everything in  backport.  I guess I need to use something called pinning….
So….

I need to add the following line to my /etc/apt/sources.list :

For Ubuntu 8.04 (Hardy Heron):
deb http://archive.ubuntu.com/ubuntu hardy-backports main universe multiverse restricted

According to the instructions the main libraries have a default pin priority of 500 and I  need to set the back-port priority to 400 so it doesn’t automatically overwrite everything. (note to self… I think I did that to myself on 8-17…  You see a history log in Synaptic  File -> History)

To do this I need to enter the following into /etc/apt/preferences (Which may or may not exist  (In my case it didn’t)):

According to the instruction I need to set apt-get with -t (target) which gives it a 990 pin priority so hardy-backports beats hardy

I guess I should give this a try to see what happens:
sudo apt-get install -t hardy-backports qt-demos
Ok... Something didn't work....
Looking at http://packages.ubuntu.com/hardy-backports/allpackages
I think this is what I need
sudo apt-get install -t hardy-backports qt4-demos
(I checked the synaptic gui and this show up as the coming from backports so I guess I'm good)
At this point I'm still going with the command line:
 sudo apt-get install -t hardy-backports qt4-demos
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  mysql-common libmysqlclient15off libqt4-gui
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  libqt4-assistant libqt4-dbus libqt4-designer libqt4-dev libqt4-gui
  libqt4-help libqt4-network libqt4-opengl libqt4-qt3support libqt4-script
  libqt4-sql libqt4-sql-sqlite libqt4-svg libqt4-test libqt4-webkit libqt4-xml
  libqt4-xmlpatterns libqtcore4 libqtgui4 qt4-designer qt4-dev-tools
Suggested packages:
  firebird2.0-dev libiodbc2-dev libmysqlclient15-dev libsqlite3-dev
Recommended packages:
  libqt4-opengl-dev qt4-qtconfig
The following packages will be REMOVED:
  libqt4-debug
The following NEW packages will be installed:
  libqt4-assistant libqt4-dbus libqt4-designer libqt4-help libqt4-network
  libqt4-opengl libqt4-script libqt4-sql-sqlite libqt4-svg libqt4-test
  libqt4-webkit libqt4-xml libqt4-xmlpatterns libqtcore4 libqtgui4 qt4-demos
The following packages will be upgraded:
  libqt4-dev libqt4-gui libqt4-qt3support libqt4-sql qt4-designer
  qt4-dev-tools
6 upgraded, 16 newly installed, 1 to remove and 15 not upgraded.
Need to get 33.6MB of archives.
After this operation, 126MB disk space will be freed.
Do you want to continue [Y/n]?
 y
Get:1 http://archive.ubuntu.com hardy-backports/universe libqtcore4 4.4.0-1ubuntu5~hardy1 [2070kB]
Get:2 http://archive.ubuntu.com hardy-backports/universe libqt4-xml 4.4.0-1ubuntu5~hardy1 [114kB]
Get:3 http://archive.ubuntu.com hardy-backports/universe libqt4-dbus 4.4.0-1ubuntu5~hardy1 [212kB]
Get:4 http://archive.ubuntu.com hardy-backports/universe libqt4-script 4.4.0-1ubuntu5~hardy1 [459kB]
Get:5 http://archive.ubuntu.com hardy-backports/universe libqtgui4 4.4.0-1ubuntu5~hardy1 [4241kB]
Get:6 http://archive.ubuntu.com hardy-backports/universe qt4-dev-tools 4.4.0-1ubuntu5~hardy1 [1504kB]
Get:7 http://archive.ubuntu.com hardy-backports/main qt4-designer 4.4.0-1ubuntu5~hardy1 [712kB]
Get:8 http://archive.ubuntu.com hardy-backports/main libqt4-dev 4.4.0-1ubuntu5~hardy1 [5755kB]
Get:9 http://archive.ubuntu.com hardy-backports/main libqt4-qt3support 4.4.0-1ubuntu5~hardy1 [1338kB]
Get:10 http://archive.ubuntu.com hardy-backports/main libqt4-gui 4.4.0-1ubuntu5~hardy1 [7474B]
Get:11 http://archive.ubuntu.com hardy-backports/universe libqt4-designer 4.4.0-1ubuntu5~hardy1 [1981kB]
Get:12 http://archive.ubuntu.com hardy-backports/universe libqt4-network 4.4.0-1ubuntu5~hardy1 [434kB]
Get:13 http://archive.ubuntu.com hardy-backports/universe libqt4-svg 4.4.0-1ubuntu5~hardy1 [155kB]
Get:14 http://archive.ubuntu.com hardy-backports/universe libqt4-test 4.4.0-1ubuntu5~hardy1 [38.3kB]
Get:15 http://archive.ubuntu.com hardy-backports/universe libqt4-webkit 4.4.0-1ubuntu5~hardy1 [3266kB]
Get:16 http://archive.ubuntu.com hardy-backports/universe libqt4-xmlpatterns 4.4.0-1ubuntu5~hardy1 [794kB]
Get:17 http://archive.ubuntu.com hardy-backports/main libqt4-sql 4.4.0-1ubuntu5~hardy1 [108kB]
Get:18 http://archive.ubuntu.com hardy-backports/universe libqt4-help 4.4.0-1ubuntu5~hardy1 [199kB]
Get:19 http://archive.ubuntu.com hardy-backports/universe libqt4-sql-sqlite 4.4.0-1ubuntu5~hardy1 [25.8kB]
Get:20 http://archive.ubuntu.com hardy-backports/universe libqt4-opengl 4.4.0-1ubuntu5~hardy1 [153kB]
Get:21 http://archive.ubuntu.com hardy-backports/universe libqt4-assistant 4.4.0-1ubuntu5~hardy1 [18.3kB]
Get:22 http://archive.ubuntu.com hardy-backports/universe qt4-demos 4.4.0-1ubuntu5~hardy1 [10.0MB]
Fetched 33.6MB in 7min39s (73.2kB/s)
(Reading database ... 188165 files and directories currently installed.)
Removing libqt4-debug ...
Selecting previously deselected package libqtcore4.
(Reading database ... 188127 files and directories currently installed.)
Unpacking libqtcore4 (from .../libqtcore4_4.4.0-1ubuntu5~hardy1_i386.deb) ...
Replacing files in old package libqt4-core ...
Replacing files in old package libqt4-gui ...
Selecting previously deselected package libqt4-xml.
Unpacking libqt4-xml (from .../libqt4-xml_4.4.0-1ubuntu5~hardy1_i386.deb) ...
Replacing files in old package libqt4-core ...
Selecting previously deselected package libqt4-dbus.
Unpacking libqt4-dbus (from .../libqt4-dbus_4.4.0-1ubuntu5~hardy1_i386.deb) ...
Replacing files in old package libqt4-core ...
Selecting previously deselected package libqt4-script.
Unpacking libqt4-script (from .../libqt4-script_4.4.0-1ubuntu5~hardy1_i386.deb) ...
Replacing files in old package libqt4-core ...
Selecting previously deselected package libqtgui4.
Unpacking libqtgui4 (from .../libqtgui4_4.4.0-1ubuntu5~hardy1_i386.deb) ...
Replacing files in old package libqt4-gui ...
Preparing to replace qt4-dev-tools 4.3.4-0ubuntu3 (using .../qt4-dev-tools_4.4.0-1ubuntu5~hardy1_i386.deb) ...
Unpacking replacement qt4-dev-tools ...
Replacing files in old package libqt4-core ...
Preparing to replace qt4-designer 4.3.4-0ubuntu3 (using .../qt4-designer_4.4.0-1ubuntu5~hardy1_i386.deb) ...
Unpacking replacement qt4-designer ...
Replacing files in old package libqt4-core ...
Preparing to replace libqt4-dev 4.3.4-0ubuntu3 (using .../libqt4-dev_4.4.0-1ubuntu5~hardy1_i386.deb) ...
Unpacking replacement libqt4-dev ...
Preparing to replace libqt4-qt3support 4.3.4-0ubuntu3 (using .../libqt4-qt3support_4.4.0-1ubuntu5~hardy1_i386.deb) ...
Unpacking replacement libqt4-qt3support ...
Preparing to replace libqt4-gui 4.3.4-0ubuntu3 (using .../libqt4-gui_4.4.0-1ubuntu5~hardy1_i386.deb) ...
Unpacking replacement libqt4-gui ...
Selecting previously deselected package libqt4-designer.
Unpacking libqt4-designer (from .../libqt4-designer_4.4.0-1ubuntu5~hardy1_i386.deb) ...
Selecting previously deselected package libqt4-network.
Unpacking libqt4-network (from .../libqt4-network_4.4.0-1ubuntu5~hardy1_i386.deb) ...
Replacing files in old package libqt4-core ...
Selecting previously deselected package libqt4-svg.
Unpacking libqt4-svg (from .../libqt4-svg_4.4.0-1ubuntu5~hardy1_i386.deb) ...
Selecting previously deselected package libqt4-test.
Unpacking libqt4-test (from .../libqt4-test_4.4.0-1ubuntu5~hardy1_i386.deb) ...
Replacing files in old package libqt4-core ...
Selecting previously deselected package libqt4-webkit.
Unpacking libqt4-webkit (from .../libqt4-webkit_4.4.0-1ubuntu5~hardy1_i386.deb) ...
Selecting previously deselected package libqt4-xmlpatterns.
Unpacking libqt4-xmlpatterns (from .../libqt4-xmlpatterns_4.4.0-1ubuntu5~hardy1_i386.deb) ...
Preparing to replace libqt4-sql 4.3.4-0ubuntu3 (using .../libqt4-sql_4.4.0-1ubuntu5~hardy1_i386.deb) ...
Unpacking replacement libqt4-sql ...
Selecting previously deselected package libqt4-help.
Unpacking libqt4-help (from .../libqt4-help_4.4.0-1ubuntu5~hardy1_i386.deb) ...
Selecting previously deselected package libqt4-sql-sqlite.
Unpacking libqt4-sql-sqlite (from .../libqt4-sql-sqlite_4.4.0-1ubuntu5~hardy1_i386.deb) ...
Selecting previously deselected package libqt4-opengl.
Unpacking libqt4-opengl (from .../libqt4-opengl_4.4.0-1ubuntu5~hardy1_i386.deb) ...
Selecting previously deselected package libqt4-assistant.
Unpacking libqt4-assistant (from .../libqt4-assistant_4.4.0-1ubuntu5~hardy1_i386.deb) ...
Selecting previously deselected package qt4-demos.
Unpacking qt4-demos (from .../qt4-demos_4.4.0-1ubuntu5~hardy1_i386.deb) ...
Processing triggers for man-db ...
Setting up libqtcore4 (4.4.0-1ubuntu5~hardy1) ...

Setting up libqt4-xml (4.4.0-1ubuntu5~hardy1) ...

Setting up libqt4-dbus (4.4.0-1ubuntu5~hardy1) ...

Setting up libqt4-script (4.4.0-1ubuntu5~hardy1) ...

Setting up libqtgui4 (4.4.0-1ubuntu5~hardy1) ...

Setting up libqt4-sql (4.4.0-1ubuntu5~hardy1) ...

Setting up libqt4-help (4.4.0-1ubuntu5~hardy1) ...

Setting up libqt4-network (4.4.0-1ubuntu5~hardy1) ...

Setting up libqt4-sql-sqlite (4.4.0-1ubuntu5~hardy1) ...
Setting up libqt4-xmlpatterns (4.4.0-1ubuntu5~hardy1) ...

Setting up qt4-dev-tools (4.4.0-1ubuntu5~hardy1) ...

Setting up libqt4-designer (4.4.0-1ubuntu5~hardy1) ...

Setting up qt4-designer (4.4.0-1ubuntu5~hardy1) ...

Setting up libqt4-assistant (4.4.0-1ubuntu5~hardy1) ...

Setting up libqt4-qt3support (4.4.0-1ubuntu5~hardy1) ...

Setting up libqt4-svg (4.4.0-1ubuntu5~hardy1) ...

Setting up libqt4-test (4.4.0-1ubuntu5~hardy1) ...

Setting up libqt4-webkit (4.4.0-1ubuntu5~hardy1) ...

Setting up libqt4-dev (4.4.0-1ubuntu5~hardy1) ...

Setting up libqt4-opengl (4.4.0-1ubuntu5~hardy1) ...

Setting up libqt4-gui (4.4.0-1ubuntu5~hardy1) ...
Setting up qt4-demos (4.4.0-1ubuntu5~hardy1) ...
Processing triggers for libc6 ...
ldconfig deferred processing now taking place
jonas@Ubuntu4:~$ 

		
		
		

Success... Well sort of... the demo's seem to be loading up. But the documentation isn't.  I think I know whats going on.
From synaptic. It seems that there is qt4-doc both in hardy and hardy-backports.  I believe I had had hardy version installed.
(I was able to see this by right-clicking on properties and selecting the Versions tab.)
I can force a version to be installed by select Packages=> Force Version.  My suspicion is that this will automatically be overwritten
when I attempt synaptic searches for updates. This is an option to lock a version which I will try should this become a problem.
This is qt stuff is really cool...

Slight diversion to QtOpenCASCADE turns into Part 6) Getting MakeBottle.cxx to compile… Success

What I thought was going to be a slight diversion from my little MakeBottle.cxx project turned to sucess.  The Makebottle code is part of of this little cad viewer..  This is a long time coming.  Now I feel I really start learning since I got something that works that I can play with….

I’ve was following the thread from my MakeBottle errors which lead me to:
http://www.opencascade.org/org/forum/thread_11990/

which led me to:
http://www.opencascade.org/org/forum/thread_10815/
which led me to:

http://myweb.tiscali.co.uk/dolbey/QtOpenCascade/index.htm

This apparently is a little cad viewer that can view STEP IGES and BREP files.  It looks like its been discussed quite a bit as how to get it running on Linux so I think if I can follow along, I should should be able to figure out how to get that darn MakeBottle.cxx running. :)

Here’s a couple of more links:
http://sourceforge.net/forum/forum.php?thread_id=1848790&forum_id=741332

Hot darn look at that there’s my MakeBottle that I’ve been trying to run located here:
http://qtocc.wiki.sourceforge.net/QTOCC_on_Ubuntu (This looks promising)

Download QT4 from Synaptic… (Picked a bunch of stuff that I hope is appropriate ones…
QtOpencascade need Qt4 working and Opencascade working before running the program..
I think we’re good following the instructions:
jonas@Ubuntu4:~$ cd QtOCC-0.11
jonas@Ubuntu4:~/QtOCC-0.11$ qmake
Project MESSAGE: Building Debug Version
Project MESSAGE: Building for Linux
Project MESSAGE: Building Debug Version
Project MESSAGE: Building Debug Version
Project MESSAGE: Building for Linux
Project MESSAGE: Building Debug Version
Project MESSAGE: Building Release Version
Project MESSAGE: Building for Linux
Project MESSAGE: Building Release Version
jonas@Ubuntu4:~/QtOCC-0.11$
make -f Makefile.Debug all
make[1]: Entering directory `/home/jonas/QtOCC-0.11′
g++ -c -pipe -fpermissive -g -D_REENTRANT -Wall -W -DQT_SHARED -DCSFDB -DQOCC_STATIC -D_DEBUG -DLIN -DLININTEL -DHAVE_CONFIG_H -DHAVE_IOSTREAM -DHAVE_FSTREAM -DHAVE_LIMITS_H -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Iinc -I/inc -I/usr/X11R6/include -Idebug -I. -o debug/main.o src/main.cpp
In file included from inc/qoccapplication.h:24,
from src/main.cpp:27:
inc/qocc.h:47:37: error: AIS_StatusOfDetection.hxx: No such file or directory
inc/qocc.h:48:32: error: AIS_StatusOfPick.hxx: No such file or directory
inc/qocc.h:49:31: error: Aspect_Drawable.hxx: No such file or directory
inc/qocc.h:50:35: error: Aspect_GridDrawMode.hxx: No such file or directory
inc/qocc.h:51:31: error: Aspect_GridType.hxx: No such file or directory
inc/qocc.h:52:42: error: Aspect_GraphicCallbackProc.hxx: No such file or directory
inc/qocc.h:53:45: error: Handle_AIS_InteractiveContext.hxx: No such file or directory
inc/qocc.h:54:31: error: Handle_V3d_View.hxx: No such file or directory
inc/qocc.h:55:33: error: Handle_V3d_Viewer.hxx: No such file or directory
inc/qocc.h:56:48: error: Handle_TopTools_HSequenceOfShape.hxx: No such file or directory
inc/qocc.h:57:32: error: Standard_TypeDef.hxx: No such file or directory
inc/qocc.h:58:31: error: Quantity_Factor.hxx: No such file or directory
inc/qocc.h:59:31: error: Quantity_Length.hxx: No such file or directory
inc/qocc.h:60:36: error: Quantity_NameOfColor.hxx: No such file or directory
inc/qocc.h:61:30: error: V3d_Coordinate.hxx: No such file or directory
inc/qocc.h:66:32: error: Handle_Xw_Window.hxx: No such file or directory
In file included from inc/qoccharnesswindow.h:22,
from src/main.cpp:28:
inc/qoccviewercontext.h:32: warning: ISO C++ forbids declaration of ‘Handle_V3d_Viewer’ with no type
inc/qoccviewercontext.h:32: error: expected ‘;’ before ‘&’ token
inc/qoccviewercontext.h:33: warning: ISO C++ forbids declaration of ‘Handle_AIS_InteractiveContext’ with no type
inc/qoccviewercontext.h:33: error: expected ‘;’ before ‘&’ token
inc/qoccviewercontext.h:35: error: ‘Handle_V3d_Viewer’ does not name a type
inc/qoccviewercontext.h:42: error: ‘Quantity_Length’ has not been declared
inc/qoccviewercontext.h:60: error: ‘Handle_V3d_Viewer’ does not name a type
inc/qoccviewercontext.h:61: error: ‘Handle_AIS_InteractiveContext’ does not name a type
inc/qoccviewercontext.h:62: error: ‘Aspect_GridType’ does not name a type
inc/qoccviewercontext.h:63: error: ‘Aspect_GridDrawMode’ does not name a type
inc/qoccviewercontext.h:64: error: ‘Quantity_NameOfColor’ does not name a type
inc/qoccviewercontext.h:65: error: ‘Quantity_NameOfColor’ does not name a type
In file included from inc/qoccharnesswindow.h:23,
from src/main.cpp:28:
inc/qoccviewwidget.h:93: error: ‘V3d_Coordinate’ has not been declared
inc/qoccviewwidget.h:93: error: ‘V3d_Coordinate’ has not been declared
inc/qoccviewwidget.h:93: error: ‘V3d_Coordinate’ has not been declared
inc/qoccviewwidget.h:94: error: ‘V3d_Coordinate’ has not been declared
inc/qoccviewwidget.h:94: error: ‘V3d_Coordinate’ has not been declared
inc/qoccviewwidget.h:94: error: ‘V3d_Coordinate’ has not been declared
inc/qoccviewwidget.h:141: error: ‘Handle_Xw_Window’ does not name a type
inc/qoccviewwidget.h:144: error: field ‘myView’ has incomplete type
inc/qoccviewwidget.h:145: error: ‘Handle_V3d_Viewer’ does not name a type
inc/qoccviewwidget.h:146: error: field ‘myContext’ has incomplete type
inc/qoccviewwidget.h:148: error: ‘Standard_Boolean’ does not name a type
inc/qoccviewwidget.h:149: error: ‘Standard_Boolean’ does not name a type
inc/qoccviewwidget.h:151: error: ‘Quantity_Factor’ does not name a type
inc/qoccviewwidget.h:152: error: ‘Standard_Boolean’ does not name a type
inc/qoccviewwidget.h:153: error: ‘AIS_StatusOfDetection’ does not name a type
inc/qoccviewwidget.h:155: error: ‘V3d_Coordinate’ does not name a type
inc/qoccviewwidget.h:163: error: ‘Standard_Real’ does not name a type
inc/qoccviewwidget.h:164: error: ‘Standard_Real’ does not name a type
inc/qoccviewwidget.h:165: error: ‘Standard_Boolean’ does not name a type
inc/qoccviewwidget.h:182: error: ‘AIS_StatusOfPick’ does not name a type
inc/qoccviewwidget.h:183: error: ‘AIS_StatusOfPick’ does not name a type
inc/qoccviewwidget.h:184: error: ‘AIS_StatusOfDetection’ does not name a type
inc/qoccviewwidget.h:188: error: ‘Standard_Real’ does not name a type
inc/qoccviewwidget.h:189: error: ‘Standard_Real’ does not name a type
inc/qoccviewwidget.h:195: error: ‘Standard_Boolean’ does not name a type
inc/qoccviewwidget.h:202: error: ‘Aspect_Drawable’ has not been declared
inc/qoccviewwidget.h:204: error: ‘Aspect_GraphicCallbackStruct’ has not been declared
inc/qoccviewwidget.h:208: error: ‘Standard_CString’ has not been declared
inc/qoccviewwidget.h:72: error: default argument for parameter of type ‘const Handle_AIS_InteractiveContext&’ has type ‘int’
inc/qoccviewwidget.h:78: error: default argument for parameter of type ‘const Handle_AIS_InteractiveContext&’ has type ‘int’
inc/qoccviewwidget.h: In member function ‘Handle_AIS_InteractiveContext QoccViewWidget::getContext()’:
inc/qoccviewwidget.h:80: error: return type ‘struct Handle_AIS_InteractiveContext’ is incomplete
inc/qoccviewwidget.h:80: error: ‘myContext’ was not declared in this scope
inc/qoccviewwidget.h: In member function ‘Handle_V3d_View QoccViewWidget::getView()’:
inc/qoccviewwidget.h:81: error: return type ‘struct Handle_V3d_View’ is incomplete
inc/qoccviewwidget.h:81: error: ‘myView’ was not declared in this scope
In file included from inc/qoccharnesswindow.h:24,
from src/main.cpp:28:
inc/qoccinputoutput.h: At global scope:
inc/qoccinputoutput.h:54: error: ‘Handle_TopTools_HSequenceOfShape’ does not name a type
inc/qoccinputoutput.h:58: error: expected ‘,’ or ‘…’ before ‘&’ token
inc/qoccinputoutput.h:58: warning: ISO C++ forbids declaration of ‘Handle_TopTools_HSequenceOfShape’ with no type
inc/qoccinputoutput.h:60: error: ‘Handle_TopTools_HSequenceOfShape’ does not name a type
inc/qoccinputoutput.h:62: error: ‘Handle_TopTools_HSequenceOfShape’ does not name a type
inc/qoccinputoutput.h:64: error: ‘Handle_TopTools_HSequenceOfShape’ does not name a type
inc/qoccinputoutput.h:65: error: ‘Handle_TopTools_HSequenceOfShape’ does not name a type
inc/qoccinputoutput.h:66: error: ‘Handle_TopTools_HSequenceOfShape’ does not name a type
inc/qoccinputoutput.h:68: error: expected ‘,’ or ‘…’ before ‘&’ token
inc/qoccinputoutput.h:68: warning: ISO C++ forbids declaration of ‘Handle_TopTools_HSequenceOfShape’ with no type
inc/qoccinputoutput.h:69: error: expected ‘,’ or ‘…’ before ‘&’ token
inc/qoccinputoutput.h:69: warning: ISO C++ forbids declaration of ‘Handle_TopTools_HSequenceOfShape’ with no type
inc/qoccinputoutput.h:70: error: expected ‘,’ or ‘…’ before ‘&’ token
inc/qoccinputoutput.h:70: warning: ISO C++ forbids declaration of ‘Handle_TopTools_HSequenceOfShape’ with no type
inc/qoccinputoutput.h:71: error: expected ‘,’ or ‘…’ before ‘&’ token
inc/qoccinputoutput.h:71: warning: ISO C++ forbids declaration of ‘Handle_TopTools_HSequenceOfShape’ with no type
inc/qoccinputoutput.h:72: error: expected ‘,’ or ‘…’ before ‘&’ token
inc/qoccinputoutput.h:72: warning: ISO C++ forbids declaration of ‘Handle_TopTools_HSequenceOfShape’ with no type
inc/qoccinputoutput.h:73: error: expected ‘,’ or ‘…’ before ‘&’ token
inc/qoccinputoutput.h:73: warning: ISO C++ forbids declaration of ‘Handle_TopTools_HSequenceOfShape’ with no type
inc/qoccinputoutput.h:75: error: expected ‘,’ or ‘…’ before ‘&’ token
inc/qoccinputoutput.h:75: warning: ISO C++ forbids declaration of ‘Handle_TopTools_HSequenceOfShape’ with no type
In file included from src/main.cpp:28:
inc/qoccharnesswindow.h:52: error: ‘V3d_Coordinate’ has not been declared
inc/qoccharnesswindow.h:53: error: ‘V3d_Coordinate’ has not been declared
inc/qoccharnesswindow.h:54: error: ‘V3d_Coordinate’ has not been declared
inc/qoccharnesswindow.h:55: error: ‘V3d_Coordinate’ has not been declared
inc/qoccharnesswindow.h:56: error: ‘V3d_Coordinate’ has not been declared
inc/qoccharnesswindow.h:57: error: ‘V3d_Coordinate’ has not been declared
inc/qoccharnesswindow.h: In member function ‘Handle_AIS_InteractiveContext& QoccHarnessWindow::getContext()’:
inc/qoccharnesswindow.h:37: error: ‘class QoccViewerContext’ has no member named ‘getContext’
make[1]: *** [debug/main.o] Error 1
make[1]: Leaving directory `/home/jonas/QtOCC-0.11′
make: *** [debug-all] Error 2
jonas@Ubuntu4:~/QtOCC-0.11$

I thought this was too good to be true….
I might as well pick off the first error
inc/qocc.h:47:37: error: AIS_StatusOfDetection.hxx: No such file or directory

jonas@Ubuntu4:~/QtOCC-0.11$ sudo updatedb
[sudo] password for jonas:
jonas@Ubuntu4:~/QtOCC-0.11$ locate  AIS_StatusOfDetection.hxx
/usr/include/opencascade/AIS_StatusOfDetection.hxx
jonas@Ubuntu4:~/QtOCC-0.11$
This not bad I guess I just need to figure out how to get -I/usr/include/opencascade into the compiler string….  (This would be a heck of a lot easier if I knew what I was doing….)

Ok… I think I found something.  This is in the qtopencascade documentation:

“The project uses the CASROOT and QTDIR environment variables to locate include files and libraries on your system – these are assumed to be in default relative locations e.g. include files in $(CASROOT)\lib. To build the apps in debug and release just cd into the folder from a cmd prompt, set up your compiler and Qt environment variables then type: -”

Since I used the debian download of OCC it doesn’t suprise me that CASROOT enviroment variable is not defined… I’m not sure about QTDIR

I just ran a handy link. This is cool for what I’m doing:

http://csg.sph.umich.edu/docs/hints/learnUNIXin10minutes.html

Ok… Something is telling me I’m hosed at the moment. But I going to try:
setenv CASROOT /usr/include/opencascade
This won’t work…..
I think qmake generates a make file from a file called QtOpenCascadeLinux.pri
Here’s the content’s.

CONFIG(release, release|debug) {
message (“Building Release Version”)
LIBS += -L$(CASROOT)/Linux/lib -lBinLPlugin \
-lBinPlugin \
-lBinXCAFPlugin \
-lFWOSPlugin \
-lmscmd \
-lPTKernel \
-lStdLPlugin \
-lStdPlugin \
-lTKAdvTools \
-lTKBin \
-lTKBinL \
-lTKBinXCAF \
-lTKBO \
-lTKBool \
-lTKBRep \
-lTKCAF \
-lTKCDF \
-lTKCDLFront \
-lTKCPPClient \
-lTKCPPExt \
-lTKCPPIntExt \
-lTKCPPJini \
-lTKCSFDBSchema \
-lTKDCAF \
-lTKDraw \
-lTKernel \
-lTKFeat \
-lTKFillet \
-lTKG2d \
-lTKG3d \
-lTKGeomAlgo \
-lTKGeomBase \
-lTKHLR \
-lTKIDLFront \
-lTKIGES \
-lTKLCAF \
-lTKMath \
-lTKMesh \
-lTKMeshVS \
-lTKOffset \
-lTKOpenGl \
-lTKPCAF \
-lTKPLCAF \
-lTKPrim \
-lTKPShape \
-lTKService \
-lTKShapeSchema \
-lTKShHealing \
-lTKStdLSchema \
-lTKStdSchema \
-lTKSTEP \
-lTKSTEP209 \
-lTKSTEPAttr \
-lTKSTEPBase \
-lTKSTL \
-lTKTCPPExt \
-lTKTopAlgo \
-lTKTopTest \
-lTKV2d \
-lTKV3d \
-lTKViewerTest \
-lTKVRML \
-lTKXCAF \
-lTKXCAFSchema \
-lTKXDEDRAW \
-lTKXDEIGES \
-lTKXDESTEP \
-lTKXml \
-lTKXmlL \
-lTKXmlXCAF \
-lTKXSBase \
-lTKXSDRAW \
-lXCAFPlugin \
-lXmlLPlugin \
-lXmlPlugin \
-lXmlXCAFPlugin
#        -ltk -lXmu
}
#################################################################
# Change the lib to libd if you have a debug OpenCASCADE build.    #
#################################################################
CONFIG(debug, release|debug) {
message (“Building Debug Version”)
LIBS += -L$(CASROOT)/Linux/lib -lBinLPlugin \
-lBinPlugin \
-lBinXCAFPlugin \
-lFWOSPlugin \
-lmscmd \
-lPTKernel \
-lStdLPlugin \
-lStdPlugin \
-lTKAdvTools \
-lTKBin \
-lTKBinL \
-lTKBinXCAF \
-lTKBO \
-lTKBool \
-lTKBRep \
-lTKCAF \
-lTKCDF \
-lTKCDLFront \
-lTKCPPClient \
-lTKCPPExt \
-lTKCPPIntExt \
-lTKCPPJini \
-lTKCSFDBSchema \
-lTKDCAF \
-lTKDraw \
-lTKernel \
-lTKFeat \
-lTKFillet \
-lTKG2d \
-lTKG3d \
-lTKGeomAlgo \
-lTKGeomBase \
-lTKHLR \
-lTKIDLFront \
-lTKIGES \
-lTKLCAF \
-lTKMath \
-lTKMesh \
-lTKMeshVS \
-lTKOffset \
-lTKOpenGl \
-lTKPCAF \
-lTKPLCAF \
-lTKPrim \
-lTKPShape \
-lTKService \
-lTKShapeSchema \
-lTKShHealing \
-lTKStdLSchema \
-lTKStdSchema \
-lTKSTEP \
-lTKSTEP209 \
-lTKSTEPAttr \
-lTKSTEPBase \
-lTKSTL \
-lTKTCPPExt \
-lTKTopAlgo \
-lTKTopTest \
-lTKV2d \
-lTKV3d \
-lTKViewerTest \
-lTKVRML \
-lTKXCAF \
-lTKXCAFSchema \
-lTKXDEDRAW \
-lTKXDEIGES \
-lTKXDESTEP \
-lTKXml \
-lTKXmlL \
-lTKXmlXCAF \
-lTKXSBase \
-lTKXSDRAW \
-lXCAFPlugin \
-lXmlLPlugin \
-lXmlPlugin \
-lXmlXCAFPlugin
#        -ltk -lXmu
}

I think the problem is with ” LIBS += -L$(CASROOT)/Linux/lib -lBinLPlugin \”
to LIBS += -L/usr/lib/ -lBinLPlugin \

This seems reasonable….
See what happens.  Nothing…..
I don’t understand how CASROOT comes into play. with qmake which generates the makefiles…
I guest its time to read a manual on qmake:http://doc.trolltech.com/4.3/qmake-manual.html

Ok… I think I need to add a “INCLUDEPATH += /usr/include/opencascade” and try this again and see what happens.
That seems to have done the trick…. ;) At any rate I got a huge amount of output from the compiler…
Oh yeah….. Not only do I have a cad view but my MakeBottle also…. Success…

MakeBottle using qtopencascade

Part 5) Trying to ge MakeBottle.cxx to compile.

Ok.. The original OCC download contained MakeBottle.cxx.  I copied
and rename the file an wanted to see if I can get one line to compile
at a time.  I also added a main() callout to give it some values
Anyway here it is:

#include <BRep_Tool.hxx>

#include <BRepAlgoAPI_Fuse.hxx>

#include <BRepBuilderAPI_MakeEdge.hxx>
#include <BRepBuilderAPI_MakeFace.hxx>
#include <BRepBuilderAPI_MakeWire.hxx>
#include <BRepBuilderAPI_Transform.hxx>

#include <BRepFilletAPI_MakeFillet.hxx>

#include <BRepLib.hxx>

#include <BRepOffsetAPI_MakeThickSolid.hxx>
#include <BRepOffsetAPI_ThruSections.hxx>

#include <BRepPrimAPI_MakeCylinder.hxx>
#include <BRepPrimAPI_MakePrism.hxx>

#include <GC_MakeArcOfCircle.hxx>
#include <GC_MakeSegment.hxx>

#include <GCE2d_MakeSegment.hxx>

#include <gp.hxx>
#include <gp_Ax1.hxx>
#include <gp_Ax2.hxx>
#include <gp_Ax2d.hxx>
#include <gp_Dir.hxx>
#include <gp_Dir2d.hxx>
#include <gp_Pnt.hxx>
#include <gp_Pnt2d.hxx>
#include <gp_Trsf.hxx>
#include <gp_Vec.hxx>

#include <Geom_CylindricalSurface.hxx>
#include <Geom_Plane.hxx>
#include <Geom_Surface.hxx>
#include <Geom_TrimmedCurve.hxx>

#include <Geom2d_Ellipse.hxx>
#include <Geom2d_TrimmedCurve.hxx>

#include <TopExp_Explorer.hxx>

#include <TopoDS.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_Face.hxx>
#include <TopoDS_Wire.hxx>
#include <TopoDS_Shape.hxx>
#include <TopoDS_Compound.hxx>
#include <TopTools_ListOfShape.hxx>

TopoDS_Shape
MakeBottle(const Standard_Real myWidth , const Standard_Real myHeight ,
const Standard_Real myThickness)
{
//Profile : Define Support Points
gp_Pnt aPnt1(-myWidth / 2. , 0 , 0);
/*
gp_Pnt aPnt2(-myWidth / 2. , -myThickness / 4. , 0);
gp_Pnt aPnt3(0 , -myThickness / 2. , 0);
gp_Pnt aPnt4(myWidth / 2. , -myThickness / 4. , 0);
gp_Pnt aPnt5(myWidth / 2. , 0 , 0);

//Profile : Define the Geometry
Handle(Geom_TrimmedCurve) aArcOfCircle = GC_MakeArcOfCircle(aPnt2,aPnt3 ,aPnt4);
Handle(Geom_TrimmedCurve) aSegment1       = GC_MakeSegment(aPnt1 , aPnt2);
Handle(Geom_TrimmedCurve) aSegment2       = GC_MakeSegment(aPnt4 , aPnt5);

//Profile : Define the Topology
TopoDS_Edge aEdge1 = BRepBuilderAPI_MakeEdge(aSegment1);
TopoDS_Edge aEdge2 = BRepBuilderAPI_MakeEdge(aArcOfCircle);
TopoDS_Edge aEdge3 = BRepBuilderAPI_MakeEdge(aSegment2);
TopoDS_Wire aWire  = BRepBuilderAPI_MakeWire(aEdge1 , aEdge2 , aEdge3);

//Complete Profile
gp_Ax1 xAxis = gp::OX();
gp_Trsf aTrsf;

aTrsf.SetMirror(xAxis);

BRepBuilderAPI_Transform aBRepTrsf(aWire , aTrsf);
TopoDS_Shape aMirroredShape = aBRepTrsf.Shape();
TopoDS_Wire aMirroredWire = TopoDS::Wire(aMirroredShape);

BRepBuilderAPI_MakeWire mkWire;

mkWire.Add(aWire);
mkWire.Add(aMirroredWire);

TopoDS_Wire myWireProfile = mkWire.Wire();

//Body : Prism the Profile
TopoDS_Face myFaceProfile = BRepBuilderAPI_MakeFace(myWireProfile);
gp_Vec        aPrismVec(0 , 0 , myHeight);

TopoDS_Shape myBody = BRepPrimAPI_MakePrism(myFaceProfile , aPrismVec);

//Body : Apply Fillets
BRepFilletAPI_MakeFillet mkFillet(myBody);
TopExp_Explorer             aEdgeExplorer(myBody , TopAbs_EDGE);

while(aEdgeExplorer.More()){

TopoDS_Edge aEdge = TopoDS::Edge(aEdgeExplorer.Current());

//Add edge to fillet algorithm
mkFillet.Add(myThickness / 12. , aEdge);

aEdgeExplorer.Next();
}

myBody = mkFillet.Shape();

//Body : Add the Neck
gp_Pnt neckLocation(0 , 0 , myHeight);
gp_Dir neckNormal = gp::DZ();
gp_Ax2 neckAx2(neckLocation , neckNormal);

Standard_Real myNeckRadius = myThickness / 4.;
Standard_Real myNeckHeight = myHeight / 10;

BRepPrimAPI_MakeCylinder MKCylinder(neckAx2 , myNeckRadius , myNeckHeight);
TopoDS_Shape myNeck = MKCylinder.Shape();

myBody = BRepAlgoAPI_Fuse(myBody , myNeck);

//Body : Create a Hollowed Solid
TopoDS_Face   faceToRemove;
Standard_Real zMax = -1;

for(TopExp_Explorer aFaceExplorer(myBody , TopAbs_FACE) ; aFaceExplorer.More() ; aFaceExplorer.Next()){

TopoDS_Face aFace = TopoDS::Face(aFaceExplorer.Current());

//Check if <aFace> is the top face of the bottle’s neck
Handle(Geom_Surface) aSurface = BRep_Tool::Surface(aFace);

if(aSurface->DynamicType() == STANDARD_TYPE(Geom_Plane)){

Handle(Geom_Plane) aPlane = Handle(Geom_Plane)::DownCast(aSurface);

gp_Pnt          aPnt = aPlane->Location();
Standard_Real aZ   = aPnt.Z();

if(aZ > zMax){

zMax         = aZ;
faceToRemove = aFace;
}
}
}

TopTools_ListOfShape facesToRemove;

facesToRemove.Append(faceToRemove);

myBody = BRepOffsetAPI_MakeThickSolid(myBody , facesToRemove , -myThickness / 50 , 1.e-3);

//return myBody;
//Threading : Create Surfaces
Handle(Geom_CylindricalSurface) aCyl1 = new Geom_CylindricalSurface(neckAx2 , myNeckRadius * 0.99);
Handle(Geom_CylindricalSurface) aCyl2 = new Geom_CylindricalSurface(neckAx2 , myNeckRadius * 1.05);

//Threading : Define 2D Curves
gp_Pnt2d aPnt(2. * PI , myNeckHeight / 2.);
gp_Dir2d aDir(2. * PI , myNeckHeight / 4.);
gp_Ax2d aAx2d(aPnt , aDir);

Standard_Real aMajor = 2. * PI;
Standard_Real aMinor = myNeckHeight / 10;

Handle(Geom2d_Ellipse) anEllipse1 = new Geom2d_Ellipse(aAx2d , aMajor , aMinor);
Handle(Geom2d_Ellipse) anEllipse2 = new Geom2d_Ellipse(aAx2d , aMajor , aMinor / 4);

Handle(Geom2d_TrimmedCurve) aArc1 = new Geom2d_TrimmedCurve(anEllipse1 , 0 , PI);
Handle(Geom2d_TrimmedCurve) aArc2 = new Geom2d_TrimmedCurve(anEllipse2 , 0 , PI);

gp_Pnt2d anEllipsePnt1 = anEllipse1->Value(0);
gp_Pnt2d anEllipsePnt2 = anEllipse1->Value(PI);

Handle(Geom2d_TrimmedCurve) aSegment = GCE2d_MakeSegment(anEllipsePnt1 , anEllipsePnt2);

//Threading : Build Edges and Wires
TopoDS_Edge aEdge1OnSurf1 = BRepBuilderAPI_MakeEdge(aArc1 , aCyl1);
TopoDS_Edge aEdge2OnSurf1 = BRepBuilderAPI_MakeEdge(aSegment , aCyl1);
TopoDS_Edge aEdge1OnSurf2 = BRepBuilderAPI_MakeEdge(aArc2 , aCyl2);
TopoDS_Edge aEdge2OnSurf2 = BRepBuilderAPI_MakeEdge(aSegment , aCyl2);

TopoDS_Wire threadingWire1 = BRepBuilderAPI_MakeWire(aEdge1OnSurf1 , aEdge2OnSurf1);
TopoDS_Wire threadingWire2 = BRepBuilderAPI_MakeWire(aEdge1OnSurf2 , aEdge2OnSurf2);

BRepLib::BuildCurves3d(threadingWire1);
BRepLib::BuildCurves3d(threadingWire2);

//Create Threading
BRepOffsetAPI_ThruSections aTool(Standard_True);

aTool.AddWire(threadingWire1);
aTool.AddWire(threadingWire2);
aTool.CheckCompatibility(Standard_False);

TopoDS_Shape myThreading = aTool.Shape();

//Building the resulting compound
TopoDS_Compound aRes;
BRep_Builder aBuilder;
aBuilder.MakeCompound (aRes);

aBuilder.Add (aRes, myBody);
aBuilder.Add (aRes, myThreading);

return aRes;
*/
}
int main () {
MakeBottle(100 , 200 ,1);
}

This is pretty much the baseline code that comes OCC  to the first line of code.

Trying: g++  -I/usr/include/opencascade -DHAVE_CONFIG_H -DHAVE_IOSTREAM -DHAVE_FSTREAM -DMAVE_LIMITS_H MakeBottle_JT.cxx
Lead to:

/tmp/ccPBD47w.o: In function `Handle_Standard_Transient::~Handle_Standard_Transient()’:
MakeBottle_JT.cxx:(.text._ZN25Handle_Standard_TransientD2Ev[Handle_Standard_Transient::~Handle_Standard_Transient()]+0xd):
undefined reference to `Handle_Standard_Transient::EndScope()’
/tmp/ccPBD47w.o: In function `TopLoc_SListOfItemLocation::~TopLoc_SListOfItemLocation()’:
MakeBottle_JT.cxx:(.text._ZN26TopLoc_SListOfItemLocationD1Ev[TopLoc_SListOfItemLocation::~TopLoc_SListOfItemLocation()]+0xe):
undefined reference to `TopLoc_SListOfItemLocation::Clear()’
collect2: ld returned 1 exit status
jonas@Ubuntu4:~/OCC_bottle$

I was starting to research error message which led me to this link:
http://www.opencascade.org/org/forum/thread_11990/

I need to digest this a little bit.

Part 4) Trying to get MakeBottle.cxx to compile

Tried:
jonas@Ubuntu4:~/OCC_bottle$ g++ -E -I/usr/include/opencascade -DHAVE_CONFIG_H MakeBottle.cxx 2>MakeBottle.with_DHAVE_CONFIG_H
In seems the precompiler didn’t choke on this.

When I removed the -E here are the results:
g++ -E -I/usr/include/opencascade -DHAVE_CONFIG_H MakeBottle.cxx 2>MakeBottle.with_DHAVE_CONFIG_H

In file included from /usr/include/opencascade/gp_Mat.hxx:326,
from /usr/include/opencascade/gp_Trsf.hxx:32,
from /usr/include/opencascade/BRepBuilderAPI_Transform.hxx:26,
from MakeBottle.cxx:8:
/usr/include/opencascade/gp_Mat.lxx: In member function ‘void gp_Mat::SetValue(Standard_Integer, Standard_Integer, Standard_Real)’:
/usr/include/opencascade/gp_Mat.lxx:98: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Mat.lxx: In member function ‘const Standard_Real& gp_Mat::Value(Standard_Integer, Standard_Integer) const’:
/usr/include/opencascade/gp_Mat.lxx:115: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Mat.lxx: In member function ‘Standard_Real& gp_Mat::ChangeValue(Standard_Integer, Standard_Integer)’:
/usr/include/opencascade/gp_Mat.lxx:123: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Mat.lxx: In member function ‘void gp_Mat::Divide(Standard_Real)’:
/usr/include/opencascade/gp_Mat.lxx:173: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Mat.lxx: In member function ‘gp_Mat gp_Mat::Divided(Standard_Real) const’:
/usr/include/opencascade/gp_Mat.lxx:192: warning: deprecated conversion from string constant to ‘char*’
In file included from /usr/include/opencascade/gp_XYZ.hxx:358,
from /usr/include/opencascade/gp_Trsf.hxx:35,
from /usr/include/opencascade/BRepBuilderAPI_Transform.hxx:26,
from MakeBottle.cxx:8:
/usr/include/opencascade/gp_XYZ.lxx: In member function ‘void gp_XYZ::Normalize()’:
/usr/include/opencascade/gp_XYZ.lxx:206: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_XYZ.lxx: In member function ‘gp_XYZ gp_XYZ::Normalized() const’:
/usr/include/opencascade/gp_XYZ.lxx:213: warning: deprecated conversion from string constant to ‘char*’
In file included from /usr/include/opencascade/gp_Mat2d.hxx:292,
from /usr/include/opencascade/gp_Trsf2d.hxx:32,
from /usr/include/opencascade/gp_Trsf.lxx:7,
from /usr/include/opencascade/gp_Trsf.hxx:376,
from /usr/include/opencascade/BRepBuilderAPI_Transform.hxx:26,
from MakeBottle.cxx:8:
/usr/include/opencascade/gp_Mat2d.lxx: In member function ‘void gp_Mat2d::SetValue(Standard_Integer, Standard_Integer, Standard_Real)’:
/usr/include/opencascade/gp_Mat2d.lxx:62: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Mat2d.lxx: In member function ‘const Standard_Real& gp_Mat2d::Value(Standard_Integer, Standard_Integer) const’:
/usr/include/opencascade/gp_Mat2d.lxx:76: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Mat2d.lxx: In member function ‘Standard_Real& gp_Mat2d::ChangeValue(Standard_Integer, Standard_Integer)’:
/usr/include/opencascade/gp_Mat2d.lxx:85: warning: deprecated conversion from string constant to ‘char*’
In file included from /usr/include/opencascade/gp_XY.hxx:318,
from /usr/include/opencascade/gp_Trsf2d.hxx:35,
from /usr/include/opencascade/gp_Trsf.lxx:7,
from /usr/include/opencascade/gp_Trsf.hxx:376,
from /usr/include/opencascade/BRepBuilderAPI_Transform.hxx:26,
from MakeBottle.cxx:8:
/usr/include/opencascade/gp_XY.lxx: In member function ‘void gp_XY::Normalize()’:
/usr/include/opencascade/gp_XY.lxx:140: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_XY.lxx: In member function ‘gp_XY gp_XY::Normalized() const’:
/usr/include/opencascade/gp_XY.lxx:147: warning: deprecated conversion from string constant to ‘char*’
In file included from /usr/include/opencascade/gp_Dir2d.hxx:304,
from /usr/include/opencascade/gp_Vec2d.lxx:5,
from /usr/include/opencascade/gp_Vec2d.hxx:339,
from /usr/include/opencascade/gp_Pnt2d.lxx:6,
from /usr/include/opencascade/gp_Pnt2d.hxx:204,
from /usr/include/opencascade/gp_Trsf2d.lxx:4,
from /usr/include/opencascade/gp_Trsf2d.hxx:279,
from /usr/include/opencascade/gp_Trsf.lxx:7,
from /usr/include/opencascade/gp_Trsf.hxx:376,
from /usr/include/opencascade/BRepBuilderAPI_Transform.hxx:26,
from MakeBottle.cxx:8:
/usr/include/opencascade/gp_Dir2d.lxx: In constructor ‘gp_Dir2d::gp_Dir2d(const gp_Vec2d&)’:
/usr/include/opencascade/gp_Dir2d.lxx:19: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Dir2d.lxx: In constructor ‘gp_Dir2d::gp_Dir2d(const gp_XY&)’:
/usr/include/opencascade/gp_Dir2d.lxx:29: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Dir2d.lxx: In constructor ‘gp_Dir2d::gp_Dir2d(Standard_Real, Standard_Real)’:
/usr/include/opencascade/gp_Dir2d.lxx:38: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Dir2d.lxx: In member function ‘void gp_Dir2d::SetCoord(Standard_Integer, Standard_Real)’:
/usr/include/opencascade/gp_Dir2d.lxx:48: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Dir2d.lxx:52: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Dir2d.lxx: In member function ‘void gp_Dir2d::SetCoord(Standard_Real, Standard_Real)’:
/usr/include/opencascade/gp_Dir2d.lxx:61: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Dir2d.lxx: In member function ‘void gp_Dir2d::SetX(Standard_Real)’:
/usr/include/opencascade/gp_Dir2d.lxx:70: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Dir2d.lxx: In member function ‘void gp_Dir2d::SetY(Standard_Real)’:
/usr/include/opencascade/gp_Dir2d.lxx:79: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Dir2d.lxx: In member function ‘void gp_Dir2d::SetXY(const gp_XY&)’:
/usr/include/opencascade/gp_Dir2d.lxx:89: warning: deprecated conversion from string constant to ‘char*’
In file included from /usr/include/opencascade/gp_Vec2d.hxx:339,
from /usr/include/opencascade/gp_Pnt2d.lxx:6,
from /usr/include/opencascade/gp_Pnt2d.hxx:204,
from /usr/include/opencascade/gp_Trsf2d.lxx:4,
from /usr/include/opencascade/gp_Trsf2d.hxx:279,
from /usr/include/opencascade/gp_Trsf.lxx:7,
from /usr/include/opencascade/gp_Trsf.hxx:376,
from /usr/include/opencascade/BRepBuilderAPI_Transform.hxx:26,
from MakeBottle.cxx:8:
/usr/include/opencascade/gp_Vec2d.lxx: In member function ‘void gp_Vec2d::Normalize()’:
/usr/include/opencascade/gp_Vec2d.lxx:140: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Vec2d.lxx: In member function ‘gp_Vec2d gp_Vec2d::Normalized() const’:
/usr/include/opencascade/gp_Vec2d.lxx:147: warning: deprecated conversion from string constant to ‘char*’
In file included from /usr/include/opencascade/gp_Trsf2d.hxx:279,
from /usr/include/opencascade/gp_Trsf.lxx:7,
from /usr/include/opencascade/gp_Trsf.hxx:376,
from /usr/include/opencascade/BRepBuilderAPI_Transform.hxx:26,
from MakeBottle.cxx:8:
/usr/include/opencascade/gp_Trsf2d.lxx: In member function ‘Standard_Real gp_Trsf2d::Value(Standard_Integer, Standard_Integer) const’:
/usr/include/opencascade/gp_Trsf2d.lxx:85: warning: deprecated conversion from string constant to ‘char*’
In file included from /usr/include/opencascade/gp_Dir.hxx:313,
from /usr/include/opencascade/gp_Vec.lxx:6,
from /usr/include/opencascade/gp_Vec.hxx:388,
from /usr/include/opencascade/gp_Trsf.lxx:8,
from /usr/include/opencascade/gp_Trsf.hxx:376,
from /usr/include/opencascade/BRepBuilderAPI_Transform.hxx:26,
from MakeBottle.cxx:8:
/usr/include/opencascade/gp_Dir.lxx: In constructor ‘gp_Dir::gp_Dir(const gp_Vec&)’:
/usr/include/opencascade/gp_Dir.lxx:18: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Dir.lxx: In constructor ‘gp_Dir::gp_Dir(const gp_XYZ&)’:
/usr/include/opencascade/gp_Dir.lxx:30: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Dir.lxx: In constructor ‘gp_Dir::gp_Dir(Standard_Real, Standard_Real, Standard_Real)’:
/usr/include/opencascade/gp_Dir.lxx:41: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Dir.lxx: In member function ‘void gp_Dir::SetCoord(Standard_Integer, Standard_Real)’:
/usr/include/opencascade/gp_Dir.lxx:53: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Dir.lxx:58: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Dir.lxx: In member function ‘void gp_Dir::SetCoord(Standard_Real, Standard_Real, Standard_Real)’:
/usr/include/opencascade/gp_Dir.lxx:68: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Dir.lxx: In member function ‘void gp_Dir::SetX(Standard_Real)’:
/usr/include/opencascade/gp_Dir.lxx:79: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Dir.lxx: In member function ‘void gp_Dir::SetY(Standard_Real)’:
/usr/include/opencascade/gp_Dir.lxx:90: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Dir.lxx: In member function ‘void gp_Dir::SetZ(Standard_Real)’:
/usr/include/opencascade/gp_Dir.lxx:101: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Dir.lxx: In member function ‘void gp_Dir::SetXYZ(const gp_XYZ&)’:
/usr/include/opencascade/gp_Dir.lxx:113: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Dir.lxx: In member function ‘void gp_Dir::Cross(const gp_Dir&)’:
/usr/include/opencascade/gp_Dir.lxx:170: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Dir.lxx: In member function ‘gp_Dir gp_Dir::Crossed(const gp_Dir&) const’:
/usr/include/opencascade/gp_Dir.lxx:179: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Dir.lxx: In member function ‘void gp_Dir::CrossCross(const gp_Dir&, const gp_Dir&)’:
/usr/include/opencascade/gp_Dir.lxx:189: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Dir.lxx: In member function ‘gp_Dir gp_Dir::CrossCrossed(const gp_Dir&, const gp_Dir&) const’:
/usr/include/opencascade/gp_Dir.lxx:199: warning: deprecated conversion from string constant to ‘char*’
In file included from /usr/include/opencascade/gp_Vec.hxx:388,
from /usr/include/opencascade/gp_Trsf.lxx:8,
from /usr/include/opencascade/gp_Trsf.hxx:376,
from /usr/include/opencascade/BRepBuilderAPI_Transform.hxx:26,
from MakeBottle.cxx:8:
/usr/include/opencascade/gp_Vec.lxx: In member function ‘Standard_Real gp_Vec::Angle(const gp_Vec&) const’:
/usr/include/opencascade/gp_Vec.lxx:111: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Vec.lxx: In member function ‘Standard_Real gp_Vec::AngleWithRef(const gp_Vec&, const gp_Vec&) const’:
/usr/include/opencascade/gp_Vec.lxx:120: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Vec.lxx: In member function ‘void gp_Vec::Normalize()’:
/usr/include/opencascade/gp_Vec.lxx:213: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/gp_Vec.lxx: In member function ‘gp_Vec gp_Vec::Normalized() const’:
/usr/include/opencascade/gp_Vec.lxx:220: warning: deprecated conversion from string constant to ‘char*’
In file included from /usr/include/opencascade/gp_Trsf.hxx:376,
from /usr/include/opencascade/BRepBuilderAPI_Transform.hxx:26,
from MakeBottle.cxx:8:
/usr/include/opencascade/gp_Trsf.lxx: In member function ‘Standard_Real gp_Trsf::Value(Standard_Integer, Standard_Integer) const’:
/usr/include/opencascade/gp_Trsf.lxx:69: warning: deprecated conversion from string constant to ‘char*’
In file included from /usr/include/opencascade/BRepTools_Modifier.hxx:131,
from /usr/include/opencascade/BRepBuilderAPI_ModifyShape.hxx:26,
from /usr/include/opencascade/BRepBuilderAPI_Transform.hxx:35,
from MakeBottle.cxx:8:
/usr/include/opencascade/BRepTools_Modifier.lxx: In member function ‘const TopoDS_Shape& BRepTools_Modifier::ModifiedShape(const TopoDS_Shape&) const’:
/usr/include/opencascade/BRepTools_Modifier.lxx:17: warning: deprecated conversion from string constant to ‘char*’
In file included from /usr/include/opencascade/TopoDS_Iterator.hxx:142,
from /usr/include/opencascade/TopExp_Explorer.lxx:6,
from /usr/include/opencascade/TopExp_Explorer.hxx:220,
from MakeBottle.cxx:44:
/usr/include/opencascade/TopoDS_Iterator.lxx: In member function ‘const TopoDS_Shape& TopoDS_Iterator::Value() const’:
/usr/include/opencascade/TopoDS_Iterator.lxx:26: warning: deprecated conversion from string constant to ‘char*’
In file included from /usr/include/opencascade/TopoDS.hxx:168,
from MakeBottle.cxx:46:
/usr/include/opencascade/TopoDS.lxx: In static member function ‘static const TopoDS_Vertex& TopoDS::Vertex(const TopoDS_Shape&)’:
/usr/include/opencascade/TopoDS.lxx:25: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/TopoDS.lxx: In static member function ‘static TopoDS_Vertex& TopoDS::Vertex(TopoDS_Shape&)’:
/usr/include/opencascade/TopoDS.lxx:37: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/TopoDS.lxx: In static member function ‘static const TopoDS_Edge& TopoDS::Edge(const TopoDS_Shape&)’:
/usr/include/opencascade/TopoDS.lxx:49: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/TopoDS.lxx: In static member function ‘static TopoDS_Edge& TopoDS::Edge(TopoDS_Shape&)’:
/usr/include/opencascade/TopoDS.lxx:61: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/TopoDS.lxx: In static member function ‘static const TopoDS_Wire& TopoDS::Wire(const TopoDS_Shape&)’:
/usr/include/opencascade/TopoDS.lxx:73: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/TopoDS.lxx: In static member function ‘static TopoDS_Wire& TopoDS::Wire(TopoDS_Shape&)’:
/usr/include/opencascade/TopoDS.lxx:85: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/TopoDS.lxx: In static member function ‘static const TopoDS_Face& TopoDS::Face(const TopoDS_Shape&)’:
/usr/include/opencascade/TopoDS.lxx:97: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/TopoDS.lxx: In static member function ‘static TopoDS_Face& TopoDS::Face(TopoDS_Shape&)’:
/usr/include/opencascade/TopoDS.lxx:109: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/TopoDS.lxx: In static member function ‘static const TopoDS_Shell& TopoDS::Shell(const TopoDS_Shape&)’:
/usr/include/opencascade/TopoDS.lxx:121: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/TopoDS.lxx: In static member function ‘static TopoDS_Shell& TopoDS::Shell(TopoDS_Shape&)’:
/usr/include/opencascade/TopoDS.lxx:133: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/TopoDS.lxx: In static member function ‘static const TopoDS_Solid& TopoDS::Solid(const TopoDS_Shape&)’:
/usr/include/opencascade/TopoDS.lxx:145: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/TopoDS.lxx: In static member function ‘static TopoDS_Solid& TopoDS::Solid(TopoDS_Shape&)’:
/usr/include/opencascade/TopoDS.lxx:157: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/TopoDS.lxx: In static member function ‘static const TopoDS_CompSolid& TopoDS::CompSolid(const TopoDS_Shape&)’:
/usr/include/opencascade/TopoDS.lxx:169: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/TopoDS.lxx: In static member function ‘static TopoDS_CompSolid& TopoDS::CompSolid(TopoDS_Shape&)’:
/usr/include/opencascade/TopoDS.lxx:181: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/TopoDS.lxx: In static member function ‘static const TopoDS_Compound& TopoDS::Compound(const TopoDS_Shape&)’:
/usr/include/opencascade/TopoDS.lxx:193: warning: deprecated conversion from string constant to ‘char*’
/usr/include/opencascade/TopoDS.lxx: In static member function ‘static TopoDS_Compound& TopoDS::Compound(TopoDS_Shape&)’:
/usr/include/opencascade/TopoDS.lxx:205: warning: deprecated conversion from string constant to ‘char*’
/usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib/crt1.o: In function `_start’:
(.text+0×18): undefined reference to `main’
/tmp/ccu2JXhk.o: In function `MakeBottle(double, double, double)’:
MakeBottle.cxx:(.text+0x31d): undefined reference to `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’
MakeBottle.cxx:(.text+0x35c): undefined reference to `GC_MakeSegment::GC_MakeSegment(gp_Pnt const&, gp_Pnt const&)’
MakeBottle.cxx:(.text+0x39b): undefined reference to `GC_MakeSegment::operator Handle_Geom_TrimmedCurve() const’
MakeBottle.cxx:(.text+0x3ec): undefined reference to `GC_MakeSegment::GC_MakeSegment(gp_Pnt const&, gp_Pnt const&)’
MakeBottle.cxx:(.text+0x3fe): undefined reference to `GC_MakeSegment::operator Handle_Geom_TrimmedCurve() const’
MakeBottle.cxx:(.text+0×445): undefined reference to `BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(Handle_Geom_Curve const&)’
MakeBottle.cxx:(.text+0x45d): undefined reference to `BRepBuilderAPI_MakeEdge::operator TopoDS_Edge() const’
MakeBottle.cxx:(.text+0x4aa): undefined reference to `BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(Handle_Geom_Curve const&)’
MakeBottle.cxx:(.text+0x4c2): undefined reference to `BRepBuilderAPI_MakeEdge::operator TopoDS_Edge() const’
MakeBottle.cxx:(.text+0x50f): undefined reference to `BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(Handle_Geom_Curve const&)’
MakeBottle.cxx:(.text+0×527): undefined reference to `BRepBuilderAPI_MakeEdge::operator TopoDS_Edge() const’
MakeBottle.cxx:(.text+0x58b): undefined reference to `BRepBuilderAPI_MakeWire::BRepBuilderAPI_MakeWire(TopoDS_Edge const&, TopoDS_Edge const&, TopoDS_Edge const&)’
MakeBottle.cxx:(.text+0x5a3): undefined reference to `BRepBuilderAPI_MakeWire::operator TopoDS_Wire() const’
MakeBottle.cxx:(.text+0x5e0): undefined reference to `gp::OX()’
MakeBottle.cxx:(.text+0×673): undefined reference to `gp_Trsf::SetMirror(gp_Ax1 const&)’
MakeBottle.cxx:(.text+0x69d): undefined reference to `BRepBuilderAPI_Transform::BRepBuilderAPI_Transform(TopoDS_Shape const&, gp_Trsf const&, unsigned int)’
MakeBottle.cxx:(.text+0x6ab): undefined reference to `BRepBuilderAPI_MakeShape::Shape() const’
MakeBottle.cxx:(.text+0x6eb): undefined reference to `BRepBuilderAPI_MakeWire::BRepBuilderAPI_MakeWire()’
MakeBottle.cxx:(.text+0×703): undefined reference to `BRepBuilderAPI_MakeWire::Add(TopoDS_Wire const&)’
MakeBottle.cxx:(.text+0x71b): undefined reference to `BRepBuilderAPI_MakeWire::Add(TopoDS_Wire const&)’
MakeBottle.cxx:(.text+0×729): undefined reference to `BRepBuilderAPI_MakeWire::Wire() const’
MakeBottle.cxx:(.text+0x75b): undefined reference to `BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(TopoDS_Wire const&, unsigned int)’
MakeBottle.cxx:(.text+0×773): undefined reference to `BRepBuilderAPI_MakeFace::operator TopoDS_Face() const’
MakeBottle.cxx:(.text+0×801): undefined reference to `BRepPrimAPI_MakePrism::BRepPrimAPI_MakePrism(TopoDS_Shape const&, gp_Vec const&, unsigned int, unsigned int)’
MakeBottle.cxx:(.text+0×819): undefined reference to `BRepBuilderAPI_MakeShape::operator TopoDS_Shape() const’
MakeBottle.cxx:(.text+0×871): undefined reference to `BRepFilletAPI_MakeFillet::BRepFilletAPI_MakeFillet(TopoDS_Shape const&, ChFi3d_FilletShape)’
MakeBottle.cxx:(.text+0×899): undefined reference to `TopExp_Explorer::TopExp_Explorer(TopoDS_Shape const&, TopAbs_ShapeEnum, TopAbs_ShapeEnum)’
MakeBottle.cxx:(.text+0x8ac): undefined reference to `TopExp_Explorer::Current() const’
MakeBottle.cxx:(.text+0x8f0): undefined reference to `BRepFilletAPI_MakeFillet::Add(double, TopoDS_Edge const&)’
MakeBottle.cxx:(.text+0x8fe): undefined reference to `TopExp_Explorer::Next()’
MakeBottle.cxx:(.text+0x95c): undefined reference to `BRepBuilderAPI_MakeShape::Shape() const’
MakeBottle.cxx:(.text+0×997): undefined reference to `gp::DZ()’
MakeBottle.cxx:(.text+0x9f0): undefined reference to `gp_Ax2::gp_Ax2(gp_Pnt const&, gp_Dir const&)’
MakeBottle.cxx:(.text+0xa38): undefined reference to `BRepPrimAPI_MakeCylinder::BRepPrimAPI_MakeCylinder(gp_Ax2 const&, double, double)’
MakeBottle.cxx:(.text+0xa46): undefined reference to `BRepBuilderAPI_MakeShape::Shape() const’
MakeBottle.cxx:(.text+0xa7a): undefined reference to `BRepAlgoAPI_Fuse::BRepAlgoAPI_Fuse(TopoDS_Shape const&, TopoDS_Shape const&)’
MakeBottle.cxx:(.text+0xa92): undefined reference to `BRepBuilderAPI_MakeShape::operator TopoDS_Shape() const’
MakeBottle.cxx:(.text+0xb22): undefined reference to `TopoDS_Face::TopoDS_Face()’
MakeBottle.cxx:(.text+0xb53): undefined reference to `TopExp_Explorer::TopExp_Explorer(TopoDS_Shape const&, TopAbs_ShapeEnum, TopAbs_ShapeEnum)’
MakeBottle.cxx:(.text+0xb66): undefined reference to `TopExp_Explorer::Current() const’
MakeBottle.cxx:(.text+0xb95): undefined reference to `BRep_Tool::Surface(TopoDS_Face const&)’
MakeBottle.cxx:(.text+0xb9d): undefined reference to `Geom_Plane_Type_()’
MakeBottle.cxx:(.text+0xbf0): undefined reference to `Handle_Geom_Plane::DownCast(Handle_Standard_Transient const&)’
MakeBottle.cxx:(.text+0xc13): undefined reference to `Geom_ElementarySurface::Location() const’
MakeBottle.cxx:(.text+0xcf4): undefined reference to `TopExp_Explorer::Next()’
MakeBottle.cxx:(.text+0xd4f): undefined reference to `TopTools_ListOfShape::TopTools_ListOfShape()’
MakeBottle.cxx:(.text+0xd64): undefined reference to `TopTools_ListOfShape::Append(TopoDS_Shape const&)’
MakeBottle.cxx:(.text+0xdbf): undefined reference to `BRepOffsetAPI_MakeThickSolid::BRepOffsetAPI_MakeThickSolid(TopoDS_Shape const&, TopTools_ListOfShape const&, double, double, BRepOffset_Mode, unsigned int, unsigned int, GeomAbs_JoinType)’
MakeBottle.cxx:(.text+0xdd7): undefined reference to `BRepBuilderAPI_MakeShape::operator TopoDS_Shape() const’
MakeBottle.cxx:(.text+0xeb6): undefined reference to `Geom_CylindricalSurface::Geom_CylindricalSurface(gp_Ax3 const&, double)’
MakeBottle.cxx:(.text+0xf5b): undefined reference to `Geom_CylindricalSurface::Geom_CylindricalSurface(gp_Ax3 const&, double)’
MakeBottle.cxx:(.text+0xf81): undefined reference to `PI’
MakeBottle.cxx:(.text+0xfac): undefined reference to `PI’
MakeBottle.cxx:(.text+0×1015): undefined reference to `PI’
MakeBottle.cxx:(.text+0x106e): undefined reference to `Geom2d_Ellipse::Geom2d_Ellipse(gp_Ax2d const&, double, double, unsigned int)’
MakeBottle.cxx:(.text+0×1101): undefined reference to `Geom2d_Ellipse::Geom2d_Ellipse(gp_Ax2d const&, double, double, unsigned int)’
MakeBottle.cxx:(.text+0×1161): undefined reference to `PI’
MakeBottle.cxx:(.text+0×1188): undefined reference to `Geom2d_TrimmedCurve::Geom2d_TrimmedCurve(Handle_Geom2d_Curve const&, double, double, unsigned int)’
MakeBottle.cxx:(.text+0x11e8): undefined reference to `PI’
MakeBottle.cxx:(.text+0x120f): undefined reference to `Geom2d_TrimmedCurve::Geom2d_TrimmedCurve(Handle_Geom2d_Curve const&, double, double, unsigned int)’
MakeBottle.cxx:(.text+0×1247): undefined reference to `Geom2d_Curve::Value(double) const’
MakeBottle.cxx:(.text+0×1277): undefined reference to `PI’
MakeBottle.cxx:(.text+0x12a4): undefined reference to `Geom2d_Curve::Value(double) const’
MakeBottle.cxx:(.text+0x12c9): undefined reference to `GCE2d_MakeSegment::GCE2d_MakeSegment(gp_Pnt2d const&, gp_Pnt2d const&)’
MakeBottle.cxx:(.text+0x12de): undefined reference to `GCE2d_MakeSegment::operator Handle_Geom2d_TrimmedCurve() const’
MakeBottle.cxx:(.text+0×1332): undefined reference to `BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(Handle_Geom2d_Curve const&, Handle_Geom_Surface const&)’
MakeBottle.cxx:(.text+0x134a): undefined reference to `BRepBuilderAPI_MakeEdge::operator TopoDS_Edge() const’
MakeBottle.cxx:(.text+0x139e): undefined reference to `BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(Handle_Geom2d_Curve const&, Handle_Geom_Surface const&)’
MakeBottle.cxx:(.text+0x13b6): undefined reference to `BRepBuilderAPI_MakeEdge::operator TopoDS_Edge() const’
MakeBottle.cxx:(.text+0x140a): undefined reference to `BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(Handle_Geom2d_Curve const&, Handle_Geom_Surface const&)’
MakeBottle.cxx:(.text+0×1422): undefined reference to `BRepBuilderAPI_MakeEdge::operator TopoDS_Edge() const’
MakeBottle.cxx:(.text+0×1476): undefined reference to `BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(Handle_Geom2d_Curve const&, Handle_Geom_Surface const&)’
MakeBottle.cxx:(.text+0x148e): undefined reference to `BRepBuilderAPI_MakeEdge::operator TopoDS_Edge() const’
MakeBottle.cxx:(.text+0x14e8): undefined reference to `BRepBuilderAPI_MakeWire::BRepBuilderAPI_MakeWire(TopoDS_Edge const&, TopoDS_Edge const&)’
MakeBottle.cxx:(.text+0×1500): undefined reference to `BRepBuilderAPI_MakeWire::operator TopoDS_Wire() const’
MakeBottle.cxx:(.text+0x155a): undefined reference to `BRepBuilderAPI_MakeWire::BRepBuilderAPI_MakeWire(TopoDS_Edge const&, TopoDS_Edge const&)’
MakeBottle.cxx:(.text+0×1572): undefined reference to `BRepBuilderAPI_MakeWire::operator TopoDS_Wire() const’
MakeBottle.cxx:(.text+0x15b8): undefined reference to `BRepLib::BuildCurves3d(TopoDS_Shape const&)’
MakeBottle.cxx:(.text+0x15c6): undefined reference to `BRepLib::BuildCurves3d(TopoDS_Shape const&)’
MakeBottle.cxx:(.text+0x15ee): undefined reference to `BRepOffsetAPI_ThruSections::BRepOffsetAPI_ThruSections(unsigned int, unsigned int, double)’
MakeBottle.cxx:(.text+0×1606): undefined reference to `BRepOffsetAPI_ThruSections::AddWire(TopoDS_Wire const&)’
MakeBottle.cxx:(.text+0x161e): undefined reference to `BRepOffsetAPI_ThruSections::AddWire(TopoDS_Wire const&)’
MakeBottle.cxx:(.text+0×1634): undefined reference to `BRepOffsetAPI_ThruSections::CheckCompatibility(unsigned int)’
MakeBottle.cxx:(.text+0×1642): undefined reference to `BRepBuilderAPI_MakeShape::Shape() const’
MakeBottle.cxx:(.text+0×1662): undefined reference to `TopoDS_Compound::TopoDS_Compound()’
MakeBottle.cxx:(.text+0x166d): undefined reference to `BRep_Builder::BRep_Builder()’
MakeBottle.cxx:(.text+0×1682): undefined reference to `TopoDS_Builder::MakeCompound(TopoDS_Compound&) const’
MakeBottle.cxx:(.text+0x16a1): undefined reference to `TopoDS_Builder::Add(TopoDS_Shape&, TopoDS_Shape const&) const’
MakeBottle.cxx:(.text+0x16c0): undefined reference to `TopoDS_Builder::Add(TopoDS_Shape&, TopoDS_Shape const&) const’
/tmp/ccu2JXhk.o: In function `TopoDS::Wire(TopoDS_Shape&)’:
MakeBottle.cxx:(.text._ZN6TopoDS4WireER12TopoDS_Shape[TopoDS::Wire(TopoDS_Shape&)]+0×24): undefined reference to `Standard_TypeMismatch::Raise(char*)’
/tmp/ccu2JXhk.o: In function `TopoDS::Edge(TopoDS_Shape const&)’:
MakeBottle.cxx:(.text._ZN6TopoDS4EdgeERK12TopoDS_Shape[TopoDS::Edge(TopoDS_Shape const&)]+0×24): undefined reference to `Standard_TypeMismatch::Raise(char*)’
/tmp/ccu2JXhk.o: In function `TopoDS::Face(TopoDS_Shape const&)’:
MakeBottle.cxx:(.text._ZN6TopoDS4FaceERK12TopoDS_Shape[TopoDS::Face(TopoDS_Shape const&)]+0×24): undefined reference to `Standard_TypeMismatch::Raise(char*)’
/tmp/ccu2JXhk.o: In function `TopLoc_Location::TopLoc_Location(TopLoc_Location const&)’:
MakeBottle.cxx:(.text._ZN15TopLoc_LocationC1ERKS_[TopLoc_Location::TopLoc_Location(TopLoc_Location const&)]+0×14): undefined reference to `TopLoc_SListOfItemLocation::TopLoc_SListOfItemLocation(TopLoc_SListOfItemLocation const&)’
/tmp/ccu2JXhk.o: In function `Handle_Standard_Transient::~Handle_Standard_Transient()’:
MakeBottle.cxx:(.text._ZN25Handle_Standard_TransientD2Ev[Handle_Standard_Transient::~Handle_Standard_Transient()]+0xd): undefined reference to `Handle_Standard_Transient::EndScope()’
/tmp/ccu2JXhk.o: In function `BRepLib_Command::operator delete(void*)’:
MakeBottle.cxx:(.text._ZN15BRepLib_CommanddlEPv[BRepLib_Command::operator delete(void*)]+0×14): undefined reference to `Standard::Free(void*&)’
/tmp/ccu2JXhk.o: In function `BRepLib_Command::~BRepLib_Command()’:
MakeBottle.cxx:(.text._ZN15BRepLib_CommandD2Ev[BRepLib_Command::~BRepLib_Command()]+0×7): undefined reference to `vtable for BRepLib_Command’
MakeBottle.cxx:(.text._ZN15BRepLib_CommandD2Ev[BRepLib_Command::~BRepLib_Command()]+0×17): undefined reference to `BRepLib_Command::Delete()’
/tmp/ccu2JXhk.o: In function `BRepLib_MakeShape::operator delete(void*)’:
MakeBottle.cxx:(.text._ZN17BRepLib_MakeShapedlEPv[BRepLib_MakeShape::operator delete(void*)]+0×14): undefined reference to `Standard::Free(void*&)’
/tmp/ccu2JXhk.o: In function `BRepLib_MakeFace::operator delete(void*)’:
MakeBottle.cxx:(.text._ZN16BRepLib_MakeFacedlEPv[BRepLib_MakeFace::operator delete(void*)]+0×14): undefined reference to `Standard::Free(void*&)’
/tmp/ccu2JXhk.o: In function `BRepBuilderAPI_Command::operator delete(void*)’:
MakeBottle.cxx:(.text._ZN22BRepBuilderAPI_CommanddlEPv[BRepBuilderAPI_Command::operator delete(void*)]+0×14): undefined reference to `Standard::Free(void*&)’
/tmp/ccu2JXhk.o: In function `BRepBuilderAPI_MakeShape::operator delete(void*)’:
MakeBottle.cxx:(.text._ZN24BRepBuilderAPI_MakeShapedlEPv[BRepBuilderAPI_MakeShape::operator delete(void*)]+0×14): undefined reference to `Standard::Free(void*&)’
/tmp/ccu2JXhk.o: In function `BRepBuilderAPI_MakeFace::operator delete(void*)’:
MakeBottle.cxx:(.text._ZN23BRepBuilderAPI_MakeFacedlEPv[BRepBuilderAPI_MakeFace::operator delete(void*)]+0×14): undefined reference to `Standard::Free(void*&)’
/tmp/ccu2JXhk.o:MakeBottle.cxx:(.text._ZN31BRepSweep_NumLinearRegularSweepdlEPv[BRepSweep_NumLinearRegularSweep::operator delete(void*)]+0×14): more undefined references to `Standard::Free(void*&)’ follow
/tmp/ccu2JXhk.o: In function `BRepBuilderAPI_Command::~BRepBuilderAPI_Command()’:
MakeBottle.cxx:(.text._ZN22BRepBuilderAPI_CommandD2Ev[BRepBuilderAPI_Command::~BRepBuilderAPI_Command()]+0×7): undefined reference to `vtable for BRepBuilderAPI_Command’
MakeBottle.cxx:(.text._ZN22BRepBuilderAPI_CommandD2Ev[BRepBuilderAPI_Command::~BRepBuilderAPI_Command()]+0×17): undefined reference to `BRepBuilderAPI_Command::Delete()’
/tmp/ccu2JXhk.o: In function `TopLoc_SListOfItemLocation::~TopLoc_SListOfItemLocation()’:
MakeBottle.cxx:(.text._ZN26TopLoc_SListOfItemLocationD1Ev[TopLoc_SListOfItemLocation::~TopLoc_SListOfItemLocation()]+0xe): undefined reference to `TopLoc_SListOfItemLocation::Clear()’
/tmp/ccu2JXhk.o: In function `TColStd_Array2OfBoolean::~TColStd_Array2OfBoolean()’:
MakeBottle.cxx:(.text._ZN23TColStd_Array2OfBooleanD1Ev[TColStd_Array2OfBoolean::~TColStd_Array2OfBoolean()]+0xd): undefined reference to `TColStd_Array2OfBoolean::Destroy()’
/tmp/ccu2JXhk.o: In function `BRepSweep_Array2OfShapesOfNumLinearRegularSweep::~BRepSweep_Array2OfShapesOfNumLinearRegularSweep()’:
MakeBottle.cxx:(.text._ZN47BRepSweep_Array2OfShapesOfNumLinearRegularSweepD1Ev[BRepSweep_Array2OfShapesOfNumLinearRegularSweep::~BRepSweep_Array2OfShapesOfNumLinearRegularSweep()]+0xd): undefined reference to `BRepSweep_Array2OfShapesOfNumLinearRegularSweep::Destroy()’
/tmp/ccu2JXhk.o: In function `TopTools_IndexedMapOfShape::~TopTools_IndexedMapOfShape()’:
MakeBottle.cxx:(.text._ZN26TopTools_IndexedMapOfShapeD1Ev[TopTools_IndexedMapOfShape::~TopTools_IndexedMapOfShape()]+0xd): undefined reference to `TopTools_IndexedMapOfShape::Clear()’
/tmp/ccu2JXhk.o: In function `BRepSweep_NumLinearRegularSweep::~BRepSweep_NumLinearRegularSweep()’:
MakeBottle.cxx:(.text._ZN31BRepSweep_NumLinearRegularSweepD2Ev[BRepSweep_NumLinearRegularSweep::~BRepSweep_NumLinearRegularSweep()]+0×8): undefined reference to `vtable for BRepSweep_NumLinearRegularSweep’
MakeBottle.cxx:(.text._ZN31BRepSweep_NumLinearRegularSweepD2Ev[BRepSweep_NumLinearRegularSweep::~BRepSweep_NumLinearRegularSweep()]+0×18): undefined reference to `BRepSweep_NumLinearRegularSweep::Delete()’
/tmp/ccu2JXhk.o: In function `BRepSweep_Trsf::~BRepSweep_Trsf()’:
MakeBottle.cxx:(.text._ZN14BRepSweep_TrsfD2Ev[BRepSweep_Trsf::~BRepSweep_Trsf()]+0×8): undefined reference to `vtable for BRepSweep_Trsf’
MakeBottle.cxx:(.text._ZN14BRepSweep_TrsfD2Ev[BRepSweep_Trsf::~BRepSweep_Trsf()]+0×18): undefined reference to `BRepSweep_Trsf::Delete()’
/tmp/ccu2JXhk.o: In function `BRepSweep_Translation::~BRepSweep_Translation()’:
MakeBottle.cxx:(.text._ZN21BRepSweep_TranslationD1Ev[BRepSweep_Translation::~BRepSweep_Translation()]+0×8): undefined reference to `vtable for BRepSweep_Translation’
MakeBottle.cxx:(.text._ZN21BRepSweep_TranslationD1Ev[BRepSweep_Translation::~BRepSweep_Translation()]+0×18): undefined reference to `BRepSweep_Translation::Delete()’
/tmp/ccu2JXhk.o: In function `Handle_TopoDS_TShape::operator=(Handle_TopoDS_TShape const&)’:
MakeBottle.cxx:(.text._ZN20Handle_TopoDS_TShapeaSERKS_[Handle_TopoDS_TShape::operator=(Handle_TopoDS_TShape const&)]+0x1c): undefined reference to `Handle_Standard_Transient::Assign(Standard_Transient const*)’
/tmp/ccu2JXhk.o: In function `TopLoc_SListOfItemLocation::operator=(TopLoc_SListOfItemLocation const&)’:
MakeBottle.cxx:(.text._ZN26TopLoc_SListOfItemLocationaSERKS_[TopLoc_SListOfItemLocation::operator=(TopLoc_SListOfItemLocation const&)]+0×14): undefined reference to `TopLoc_SListOfItemLocation::Assign(TopLoc_SListOfItemLocation const&)’
/tmp/ccu2JXhk.o: In function `TopTools_DataMapOfShapeShape::~TopTools_DataMapOfShapeShape()’:
MakeBottle.cxx:(.text._ZN28TopTools_DataMapOfShapeShapeD1Ev[TopTools_DataMapOfShapeShape::~TopTools_DataMapOfShapeShape()]+0xd): undefined reference to `TopTools_DataMapOfShapeShape::Clear()’
/tmp/ccu2JXhk.o: In function `TopTools_DataMapOfShapeListOfShape::~TopTools_DataMapOfShapeListOfShape()’:
MakeBottle.cxx:(.text._ZN34TopTools_DataMapOfShapeListOfShapeD1Ev[TopTools_DataMapOfShapeListOfShape::~TopTools_DataMapOfShapeListOfShape()]+0xd): undefined reference to `TopTools_DataMapOfShapeListOfShape::Clear()’
/tmp/ccu2JXhk.o: In function `TopTools_IndexedDataMapOfShapeListOfShape::~TopTools_IndexedDataMapOfShapeListOfShape()’:
MakeBottle.cxx:(.text._ZN41TopTools_IndexedDataMapOfShapeListOfShapeD1Ev[TopTools_IndexedDataMapOfShapeListOfShape::~TopTools_IndexedDataMapOfShapeListOfShape()]+0xd): undefined reference to `TopTools_IndexedDataMapOfShapeListOfShape::Clear()’
/tmp/ccu2JXhk.o: In function `BRepOffset_DataMapOfShapeListOfInterval::~BRepOffset_DataMapOfShapeListOfInterval()’:
MakeBottle.cxx:(.text._ZN39BRepOffset_DataMapOfShapeListOfIntervalD1Ev[BRepOffset_DataMapOfShapeListOfInterval::~BRepOffset_DataMapOfShapeListOfInterval()]+0xd): undefined reference to `BRepOffset_DataMapOfShapeListOfInterval::Clear()’
/tmp/ccu2JXhk.o: In function `TopTools_MapOfShape::~TopTools_MapOfShape()’:
MakeBottle.cxx:(.text._ZN19TopTools_MapOfShapeD1Ev[TopTools_MapOfShape::~TopTools_MapOfShape()]+0xd): undefined reference to `TopTools_MapOfShape::Clear()’
/tmp/ccu2JXhk.o: In function `BRepOffset_DataMapOfShapeReal::~BRepOffset_DataMapOfShapeReal()’:
MakeBottle.cxx:(.text._ZN29BRepOffset_DataMapOfShapeRealD1Ev[BRepOffset_DataMapOfShapeReal::~BRepOffset_DataMapOfShapeReal()]+0xd): undefined reference to `BRepOffset_DataMapOfShapeReal::Clear()’
/tmp/ccu2JXhk.o: In function `gp_Dir2d::gp_Dir2d(double, double)’:
MakeBottle.cxx:(.text._ZN8gp_Dir2dC1Edd[gp_Dir2d::gp_Dir2d(double, double)]+0×80): undefined reference to `Standard_ConstructionError::Raise(char*)’
/tmp/ccu2JXhk.o: In function `Standard_Transient::operator new(unsigned int)’:
MakeBottle.cxx:(.text._ZN18Standard_TransientnwEj[Standard_Transient::operator new(unsigned int)]+0xd): undefined reference to `Standard::Allocate(unsigned int)’
/tmp/ccu2JXhk.o: In function `TopTools_SequenceOfShape::~TopTools_SequenceOfShape()’:
MakeBottle.cxx:(.text._ZN24TopTools_SequenceOfShapeD1Ev[TopTools_SequenceOfShape::~TopTools_SequenceOfShape()]+0xd): undefined reference to `TopTools_SequenceOfShape::Clear()’
/tmp/ccu2JXhk.o: In function `TopTools_ListOfShape::~TopTools_ListOfShape()’:
MakeBottle.cxx:(.text._ZN20TopTools_ListOfShapeD1Ev[TopTools_ListOfShape::~TopTools_ListOfShape()]+0xd): undefined reference to `TopTools_ListOfShape::Clear()’
/tmp/ccu2JXhk.o: In function `BRepLib_MakeShape::~BRepLib_MakeShape()’:
MakeBottle.cxx:(.text._ZN17BRepLib_MakeShapeD2Ev[BRepLib_MakeShape::~BRepLib_MakeShape()]+0×8): undefined reference to `vtable for BRepLib_MakeShape’
/tmp/ccu2JXhk.o: In function `BRepBuilderAPI_MakeShape::~BRepBuilderAPI_MakeShape()’:
MakeBottle.cxx:(.text._ZN24BRepBuilderAPI_MakeShapeD2Ev[BRepBuilderAPI_MakeShape::~BRepBuilderAPI_MakeShape()]+0×8): undefined reference to `vtable for BRepBuilderAPI_MakeShape’
MakeBottle.cxx:(.text._ZN24BRepBuilderAPI_MakeShapeD2Ev[BRepBuilderAPI_MakeShape::~BRepBuilderAPI_MakeShape()]+0×18): undefined reference to `BRepBuilderAPI_MakeShape::Delete()’
/tmp/ccu2JXhk.o: In function `BRepBuilderAPI_MakeFace::~BRepBuilderAPI_MakeFace()’:
MakeBottle.cxx:(.text._ZN23BRepBuilderAPI_MakeFaceD1Ev[BRepBuilderAPI_MakeFace::~BRepBuilderAPI_MakeFace()]+0×8): undefined reference to `vtable for BRepBuilderAPI_MakeFace’
/tmp/ccu2JXhk.o: In function `BRepPrimAPI_MakePrism::~BRepPrimAPI_MakePrism()’:
MakeBottle.cxx:(.text._ZN21BRepPrimAPI_MakePrismD1Ev[BRepPrimAPI_MakePrism::~BRepPrimAPI_MakePrism()]+0×8): undefined reference to `vtable for BRepPrimAPI_MakePrism’
/tmp/ccu2JXhk.o: In function `BRepAlgoAPI_BooleanOperation::~BRepAlgoAPI_BooleanOperation()’:
MakeBottle.cxx:(.text._ZN28BRepAlgoAPI_BooleanOperationD2Ev[BRepAlgoAPI_BooleanOperation::~BRepAlgoAPI_BooleanOperation()]+0×8): undefined reference to `vtable for BRepAlgoAPI_BooleanOperation’
MakeBottle.cxx:(.text._ZN28BRepAlgoAPI_BooleanOperationD2Ev[BRepAlgoAPI_BooleanOperation::~BRepAlgoAPI_BooleanOperation()]+0×18): undefined reference to `BRepAlgoAPI_BooleanOperation::Destroy()’
/tmp/ccu2JXhk.o: In function `BRepBuilderAPI_MakeEdge::~BRepBuilderAPI_MakeEdge()’:
MakeBottle.cxx:(.text._ZN23BRepBuilderAPI_MakeEdgeD1Ev[BRepBuilderAPI_MakeEdge::~BRepBuilderAPI_MakeEdge()]+0×8): undefined reference to `vtable for BRepBuilderAPI_MakeEdge’
/tmp/ccu2JXhk.o: In function `BRepOffsetAPI_ThruSections::~BRepOffsetAPI_ThruSections()’:
MakeBottle.cxx:(.text._ZN26BRepOffsetAPI_ThruSectionsD1Ev[BRepOffsetAPI_ThruSections::~BRepOffsetAPI_ThruSections()]+0×8): undefined reference to `vtable for BRepOffsetAPI_ThruSections’
/tmp/ccu2JXhk.o: In function `BRepPrimAPI_MakeOneAxis::~BRepPrimAPI_MakeOneAxis()’:
MakeBottle.cxx:(.text._ZN23BRepPrimAPI_MakeOneAxisD2Ev[BRepPrimAPI_MakeOneAxis::~BRepPrimAPI_MakeOneAxis()]+0×7): undefined reference to `vtable for BRepPrimAPI_MakeOneAxis’
/tmp/ccu2JXhk.o: In function `BRepBuilderAPI_MakeWire::~BRepBuilderAPI_MakeWire()’:
MakeBottle.cxx:(.text._ZN23BRepBuilderAPI_MakeWireD1Ev[BRepBuilderAPI_MakeWire::~BRepBuilderAPI_MakeWire()]+0×8): undefined reference to `vtable for BRepBuilderAPI_MakeWire’
/tmp/ccu2JXhk.o: In function `BRepBuilderAPI_ModifyShape::~BRepBuilderAPI_ModifyShape()’:
MakeBottle.cxx:(.text._ZN26BRepBuilderAPI_ModifyShapeD2Ev[BRepBuilderAPI_ModifyShape::~BRepBuilderAPI_ModifyShape()]+0×8): undefined reference to `vtable for BRepBuilderAPI_ModifyShape’
/tmp/ccu2JXhk.o: In function `BRepBuilderAPI_Transform::~BRepBuilderAPI_Transform()’:
MakeBottle.cxx:(.text._ZN24BRepBuilderAPI_TransformD1Ev[BRepBuilderAPI_Transform::~BRepBuilderAPI_Transform()]+0×8): undefined reference to `vtable for BRepBuilderAPI_Transform’
/tmp/ccu2JXhk.o: In function `BRepOffsetAPI_MakeOffsetShape::~BRepOffsetAPI_MakeOffsetShape()’:
MakeBottle.cxx:(.text._ZN29BRepOffsetAPI_MakeOffsetShapeD2Ev[BRepOffsetAPI_MakeOffsetShape::~BRepOffsetAPI_MakeOffsetShape()]+0×8): undefined reference to `vtable for BRepOffsetAPI_MakeOffsetShape’
/tmp/ccu2JXhk.o: In function `BRepOffsetAPI_MakeThickSolid::~BRepOffsetAPI_MakeThickSolid()’:
MakeBottle.cxx:(.text._ZN28BRepOffsetAPI_MakeThickSolidD1Ev[BRepOffsetAPI_MakeThickSolid::~BRepOffsetAPI_MakeThickSolid()]+0×7): undefined reference to `vtable for BRepOffsetAPI_MakeThickSolid’
/tmp/ccu2JXhk.o: In function `BRepPrim_OneAxis::~BRepPrim_OneAxis()’:
MakeBottle.cxx:(.text._ZN16BRepPrim_OneAxisD2Ev[BRepPrim_OneAxis::~BRepPrim_OneAxis()]+0×8): undefined reference to `vtable for BRepPrim_OneAxis’
MakeBottle.cxx:(.text._ZN16BRepPrim_OneAxisD2Ev[BRepPrim_OneAxis::~BRepPrim_OneAxis()]+0×18): undefined reference to `BRepPrim_OneAxis::Delete()’
/tmp/ccu2JXhk.o: In function `BRepPrim_Revolution::~BRepPrim_Revolution()’:
MakeBottle.cxx:(.text._ZN19BRepPrim_RevolutionD2Ev[BRepPrim_Revolution::~BRepPrim_Revolution()]+0×8): undefined reference to `vtable for BRepPrim_Revolution’
/tmp/ccu2JXhk.o: In function `BRepPrim_Cylinder::~BRepPrim_Cylinder()’:
MakeBottle.cxx:(.text._ZN17BRepPrim_CylinderD1Ev[BRepPrim_Cylinder::~BRepPrim_Cylinder()]+0×7): undefined reference to `vtable for BRepPrim_Cylinder’
/tmp/ccu2JXhk.o: In function `BRepPrimAPI_MakeCylinder::~BRepPrimAPI_MakeCylinder()’:
MakeBottle.cxx:(.text._ZN24BRepPrimAPI_MakeCylinderD1Ev[BRepPrimAPI_MakeCylinder::~BRepPrimAPI_MakeCylinder()]+0×8): undefined reference to `vtable for BRepPrimAPI_MakeCylinder’
/tmp/ccu2JXhk.o: In function `TopExp_Explorer::~TopExp_Explorer()’:
MakeBottle.cxx:(.text._ZN15TopExp_ExplorerD1Ev[TopExp_Explorer::~TopExp_Explorer()]+0xe): undefined reference to `TopExp_Explorer::Destroy()’
/tmp/ccu2JXhk.o: In function `TopTools_DataMapOfShapeListOfInteger::~TopTools_DataMapOfShapeListOfInteger()’:
MakeBottle.cxx:(.text._ZN36TopTools_DataMapOfShapeListOfIntegerD1Ev[TopTools_DataMapOfShapeListOfInteger::~TopTools_DataMapOfShapeListOfInteger()]+0xd): undefined reference to `TopTools_DataMapOfShapeListOfInteger::Clear()’
/tmp/ccu2JXhk.o: In function `ChFiDS_Regularities::~ChFiDS_Regularities()’:
MakeBottle.cxx:(.text._ZN19ChFiDS_RegularitiesD1Ev[ChFiDS_Regularities::~ChFiDS_Regularities()]+0xd): undefined reference to `ChFiDS_Regularities::Clear()’
/tmp/ccu2JXhk.o: In function `ChFiDS_IndexedDataMapOfVertexListOfStripe::~ChFiDS_IndexedDataMapOfVertexListOfStripe()’:
MakeBottle.cxx:(.text._ZN41ChFiDS_IndexedDataMapOfVertexListOfStripeD1Ev[ChFiDS_IndexedDataMapOfVertexListOfStripe::~ChFiDS_IndexedDataMapOfVertexListOfStripe()]+0xd): undefined reference to `ChFiDS_IndexedDataMapOfVertexListOfStripe::Clear()’
/tmp/ccu2JXhk.o: In function `ChFiDS_ListOfStripe::~ChFiDS_ListOfStripe()’:
MakeBottle.cxx:(.text._ZN19ChFiDS_ListOfStripeD1Ev[ChFiDS_ListOfStripe::~ChFiDS_ListOfStripe()]+0xd): undefined reference to `ChFiDS_ListOfStripe::Clear()’
/tmp/ccu2JXhk.o: In function `ChFi3d_Builder::~ChFi3d_Builder()’:
MakeBottle.cxx:(.text._ZN14ChFi3d_BuilderD2Ev[ChFi3d_Builder::~ChFi3d_Builder()]+0×8): undefined reference to `vtable for ChFi3d_Builder’
MakeBottle.cxx:(.text._ZN14ChFi3d_BuilderD2Ev[ChFi3d_Builder::~ChFi3d_Builder()]+0×18): undefined reference to `ChFi3d_Builder::Delete()’
/tmp/ccu2JXhk.o: In function `ChFi3d_FilBuilder::~ChFi3d_FilBuilder()’:
MakeBottle.cxx:(.text._ZN17ChFi3d_FilBuilderD1Ev[ChFi3d_FilBuilder::~ChFi3d_FilBuilder()]+0×7): undefined reference to `vtable for ChFi3d_FilBuilder’
/tmp/ccu2JXhk.o: In function `BRepFilletAPI_MakeFillet::~BRepFilletAPI_MakeFillet()’:
MakeBottle.cxx:(.text._ZN24BRepFilletAPI_MakeFilletD1Ev[BRepFilletAPI_MakeFillet::~BRepFilletAPI_MakeFillet()]+0×8): undefined reference to `vtable for BRepFilletAPI_MakeFillet’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepLib_MakeFace[vtable for BRepLib_MakeFace]+0×8): undefined reference to `BRepLib_Command::Delete()’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepLib_MakeFace[vtable for BRepLib_MakeFace]+0×14): undefined reference to `BRepLib_MakeShape::FaceStatus(TopoDS_Face const&) const’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepLib_MakeFace[vtable for BRepLib_MakeFace]+0×18): undefined reference to `BRepLib_MakeShape::HasDescendants(TopoDS_Face const&) const’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepLib_MakeFace[vtable for BRepLib_MakeFace]+0x1c): undefined reference to `BRepLib_MakeShape::DescendantFaces(TopoDS_Face const&)’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepLib_MakeFace[vtable for BRepLib_MakeFace]+0×20): undefined reference to `BRepLib_MakeShape::NbSurfaces() const’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepLib_MakeFace[vtable for BRepLib_MakeFace]+0×24): undefined reference to `BRepLib_MakeShape::NewFaces(int)’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepLib_MakeFace[vtable for BRepLib_MakeFace]+0×28): undefined reference to `BRepLib_MakeShape::FacesFromEdges(TopoDS_Edge const&)’
/tmp/ccu2JXhk.o:(.rodata._ZTI16BRepLib_MakeFace[typeinfo for BRepLib_MakeFace]+0×8): undefined reference to `typeinfo for BRepLib_MakeShape’
/tmp/ccu2JXhk.o:(.rodata._ZTV21BRepPrimAPI_MakeSweep[vtable for BRepPrimAPI_MakeSweep]+0×8): undefined reference to `BRepBuilderAPI_MakeShape::Delete()’
/tmp/ccu2JXhk.o:(.rodata._ZTV21BRepPrimAPI_MakeSweep[vtable for BRepPrimAPI_MakeSweep]+0×14): undefined reference to `BRepBuilderAPI_Command::IsDone() const’
/tmp/ccu2JXhk.o:(.rodata._ZTV21BRepPrimAPI_MakeSweep[vtable for BRepPrimAPI_MakeSweep]+0×18): undefined reference to `BRepBuilderAPI_MakeShape::Build()’
/tmp/ccu2JXhk.o:(.rodata._ZTV21BRepPrimAPI_MakeSweep[vtable for BRepPrimAPI_MakeSweep]+0x1c): undefined reference to `BRepBuilderAPI_MakeShape::Generated(TopoDS_Shape const&)’
/tmp/ccu2JXhk.o:(.rodata._ZTV21BRepPrimAPI_MakeSweep[vtable for BRepPrimAPI_MakeSweep]+0×20): undefined reference to `BRepBuilderAPI_MakeShape::Modified(TopoDS_Shape const&)’
/tmp/ccu2JXhk.o:(.rodata._ZTV21BRepPrimAPI_MakeSweep[vtable for BRepPrimAPI_MakeSweep]+0×24): undefined reference to `BRepBuilderAPI_MakeShape::IsDeleted(TopoDS_Shape const&)’
/tmp/ccu2JXhk.o:(.rodata._ZTI21BRepPrimAPI_MakeSweep[typeinfo for BRepPrimAPI_MakeSweep]+0×8): undefined reference to `typeinfo for BRepBuilderAPI_MakeShape’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepAlgoAPI_Fuse[vtable for BRepAlgoAPI_Fuse]+0×8): undefined reference to `BRepBuilderAPI_MakeShape::Delete()’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepAlgoAPI_Fuse[vtable for BRepAlgoAPI_Fuse]+0×14): undefined reference to `BRepBuilderAPI_Command::IsDone() const’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepAlgoAPI_Fuse[vtable for BRepAlgoAPI_Fuse]+0×18): undefined reference to `BRepAlgoAPI_BooleanOperation::Build()’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepAlgoAPI_Fuse[vtable for BRepAlgoAPI_Fuse]+0x1c): undefined reference to `BRepAlgoAPI_BooleanOperation::Generated(TopoDS_Shape const&)’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepAlgoAPI_Fuse[vtable for BRepAlgoAPI_Fuse]+0×20): undefined reference to `BRepAlgoAPI_BooleanOperation::Modified(TopoDS_Shape const&)’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepAlgoAPI_Fuse[vtable for BRepAlgoAPI_Fuse]+0×24): undefined reference to `BRepAlgoAPI_BooleanOperation::IsDeleted(TopoDS_Shape const&)’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepAlgoAPI_Fuse[vtable for BRepAlgoAPI_Fuse]+0×28): undefined reference to `BRepAlgoAPI_BooleanOperation::Modified2(TopoDS_Shape const&)’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepAlgoAPI_Fuse[vtable for BRepAlgoAPI_Fuse]+0x2c): undefined reference to `BRepAlgoAPI_BooleanOperation::HasModified() const’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepAlgoAPI_Fuse[vtable for BRepAlgoAPI_Fuse]+0×30): undefined reference to `BRepAlgoAPI_BooleanOperation::HasGenerated() const’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepAlgoAPI_Fuse[vtable for BRepAlgoAPI_Fuse]+0×34): undefined reference to `BRepAlgoAPI_BooleanOperation::HasDeleted() const’
/tmp/ccu2JXhk.o:(.rodata._ZTI16BRepAlgoAPI_Fuse[typeinfo for BRepAlgoAPI_Fuse]+0×8): undefined reference to `typeinfo for BRepAlgoAPI_BooleanOperation’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepLib_MakeEdge[vtable for BRepLib_MakeEdge]+0×8): undefined reference to `BRepLib_Command::Delete()’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepLib_MakeEdge[vtable for BRepLib_MakeEdge]+0×14): undefined reference to `BRepLib_MakeShape::FaceStatus(TopoDS_Face const&) const’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepLib_MakeEdge[vtable for BRepLib_MakeEdge]+0×18): undefined reference to `BRepLib_MakeShape::HasDescendants(TopoDS_Face const&) const’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepLib_MakeEdge[vtable for BRepLib_MakeEdge]+0x1c): undefined reference to `BRepLib_MakeShape::DescendantFaces(TopoDS_Face const&)’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepLib_MakeEdge[vtable for BRepLib_MakeEdge]+0×20): undefined reference to `BRepLib_MakeShape::NbSurfaces() const’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepLib_MakeEdge[vtable for BRepLib_MakeEdge]+0×24): undefined reference to `BRepLib_MakeShape::NewFaces(int)’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepLib_MakeEdge[vtable for BRepLib_MakeEdge]+0×28): undefined reference to `BRepLib_MakeShape::FacesFromEdges(TopoDS_Edge const&)’
/tmp/ccu2JXhk.o:(.rodata._ZTI16BRepLib_MakeEdge[typeinfo for BRepLib_MakeEdge]+0×8): undefined reference to `typeinfo for BRepLib_MakeShape’
/tmp/ccu2JXhk.o:(.rodata._ZTV28BRepFilletAPI_LocalOperation[vtable for BRepFilletAPI_LocalOperation]+0×8): undefined reference to `BRepBuilderAPI_MakeShape::Delete()’
/tmp/ccu2JXhk.o:(.rodata._ZTV28BRepFilletAPI_LocalOperation[vtable for BRepFilletAPI_LocalOperation]+0×14): undefined reference to `BRepBuilderAPI_Command::IsDone() const’
/tmp/ccu2JXhk.o:(.rodata._ZTV28BRepFilletAPI_LocalOperation[vtable for BRepFilletAPI_LocalOperation]+0×18): undefined reference to `BRepBuilderAPI_MakeShape::Build()’
/tmp/ccu2JXhk.o:(.rodata._ZTV28BRepFilletAPI_LocalOperation[vtable for BRepFilletAPI_LocalOperation]+0x1c): undefined reference to `BRepBuilderAPI_MakeShape::Generated(TopoDS_Shape const&)’
/tmp/ccu2JXhk.o:(.rodata._ZTV28BRepFilletAPI_LocalOperation[vtable for BRepFilletAPI_LocalOperation]+0×20): undefined reference to `BRepBuilderAPI_MakeShape::Modified(TopoDS_Shape const&)’
/tmp/ccu2JXhk.o:(.rodata._ZTV28BRepFilletAPI_LocalOperation[vtable for BRepFilletAPI_LocalOperation]+0×24): undefined reference to `BRepBuilderAPI_MakeShape::IsDeleted(TopoDS_Shape const&)’
/tmp/ccu2JXhk.o:(.rodata._ZTI28BRepFilletAPI_LocalOperation[typeinfo for BRepFilletAPI_LocalOperation]+0×8): undefined reference to `typeinfo for BRepBuilderAPI_MakeShape’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepLib_MakeWire[vtable for BRepLib_MakeWire]+0×8): undefined reference to `BRepLib_Command::Delete()’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepLib_MakeWire[vtable for BRepLib_MakeWire]+0×14): undefined reference to `BRepLib_MakeShape::FaceStatus(TopoDS_Face const&) const’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepLib_MakeWire[vtable for BRepLib_MakeWire]+0×18): undefined reference to `BRepLib_MakeShape::HasDescendants(TopoDS_Face const&) const’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepLib_MakeWire[vtable for BRepLib_MakeWire]+0x1c): undefined reference to `BRepLib_MakeShape::DescendantFaces(TopoDS_Face const&)’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepLib_MakeWire[vtable for BRepLib_MakeWire]+0×20): undefined reference to `BRepLib_MakeShape::NbSurfaces() const’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepLib_MakeWire[vtable for BRepLib_MakeWire]+0×24): undefined reference to `BRepLib_MakeShape::NewFaces(int)’
/tmp/ccu2JXhk.o:(.rodata._ZTV16BRepLib_MakeWire[vtable for BRepLib_MakeWire]+0×28): undefined reference to `BRepLib_MakeShape::FacesFromEdges(TopoDS_Edge const&)’
/tmp/ccu2JXhk.o:(.rodata._ZTI16BRepLib_MakeWire[typeinfo for BRepLib_MakeWire]+0×8): undefined reference to `typeinfo for BRepLib_MakeShape’
collect2: ld returned 1 exit status

Part 3)Trying to get MakeBottle.cxx to compile.