Binary installers for Coin3d and SoQt on MinGW: Difference between revisions

From ASCEND
Jump to navigation Jump to search
No edit summary
No edit summary
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{missingimages}}
{{missingimages}}
Here are some binary installers for [http://www.coin3d.org Coin] (aka Coin3d) and [http://doc.coin3d.org/SoQt/ SoQt] for use with the [http://www.mingw.org MinGW] GCC 3.4.5 compiler. In order to use these, you will '''first''' need to install [ftp://ftp.qt.nokia.com/pub/qt/source/qt-win-opensource-4.3.3-mingw.exe the open source version of Qt 4.3.3]:
Here are some binary installers for [http://www.coin3d.org Coin] (aka Coin3d) and [http://doc.coin3d.org/SoQt/ SoQt] for use with the [http://www.mingw.org MinGW] GCC 3.4.5 compiler.


<div style="padding-top:8px;padding-bottom:12px"><div style="border:solid 2pt gray;background-color:#ffff88;margin-top:0px;margin-bottom:5px;padding:3px;width:25em">
<div style="padding-top:8px;padding-bottom:12px"><div style="border:solid 2pt gray;background-color:#ffff88;margin-top:0px;margin-bottom:5px;padding:3px;width:50em">
* [[Media:Coin3d-2.5.0.exe|coin3d-2.5.0.exe]] (6M binary installer)
* [[Media:Coin3d-2.5.0.exe|coin3d-2.5.0.exe]] (6M binary installer)
* [[Media:Soqt-1.4.1.exe|soqt-1.4.1.exe]] (1.4M binary installer)</div></div>
* [[Media:Soqt-1.4.1.exe|soqt-1.4.1.exe]] (1.4M binary installer) -- first requires [ftp://ftp.qt.nokia.com/qt/source/qt-win-opensource-4.4.3-mingw.exe Qt 4.3.3 open-source] (large!)</div></div>


Note that this version of Qt is fairly old now. If you want to use a later version of Qt, then you will have to recompile SoQt and Coin3D. Note that newer versions of those tools are also now available, as well.
Note that this version of Qt is fairly old now. If you want to use a later version of Qt, then you will have to recompile SoQt and Coin3D. Note that newer versions of those tools are also now available, as well.
Line 106: Line 106:
The following rather more rigorous detection script works on Windows with the above MinGW binaries for SoQt/Coin3D as well as on Linux. Note that on Windows, it will happily detect if you installed SoQt or Coin3D in non-standard locations by using the Windows registry, but that it is hard-wired for the c:\Qt\4.3.3 folder in the case of Qt.
The following rather more rigorous detection script works on Windows with the above MinGW binaries for SoQt/Coin3D as well as on Linux. Note that on Windows, it will happily detect if you installed SoQt or Coin3D in non-standard locations by using the Windows registry, but that it is hard-wired for the c:\Qt\4.3.3 folder in the case of Qt.


<source lang="py">import os, platform
<source lang="py">
# file "scons/soqt.py"
import os, platform
from SCons.Script import *
from SCons.Script import *


Line 155: Line 157:


)
)
else:
else:
cmd = ['soqt-config','--cppflags','--ldflags','--libs']
cmd = ['soqt-config','--cppflags','--ldflags','--libs']
Line 171: Line 172:
print "SOQT_LIBPATH =",env.get('SOQT_LIBPATH')
print "SOQT_LIBPATH =",env.get('SOQT_LIBPATH')
print "SOQT_CPPPATH =",env.get('SOQT_CPPPATH')
print "SOQT_CPPPATH =",env.get('SOQT_CPPPATH')
except:
except:
print "FAILED TO SET UP SOQT"
print "FAILED TO SET UP SOQT"
Line 177: Line 177:


def exists(env):
def exists(env):
"""
"""
Make sure this tool exists.
Make sure this tool exists.
Line 201: Line 200:
Here is an example of how to use the 'soqt.py' tool with SCons to build a simple SoQt app:
Here is an example of how to use the 'soqt.py' tool with SCons to build a simple SoQt app:


<source lang="a4c">ctools=['default']
<source lang="py">
# file "SConstruct"
import platform
ctools=['default']
if platform.system()=="Windows":
if platform.system()=="Windows":
ctools=['mingw']
ctools=['mingw']


env = Environment(
env = Environment(
, toolpath=['.']
toolpath=['scons'] # name of subdirectory containing the file 'scons.py' as listed above
 
, tools=ctools+['soqt'] # stemmed name of 'scons.py'
, tools=ctools+['soqt']
)
)


env.AppendUnique(
env.AppendUnique(
LIBS = env.get('SOQT_LIBS')
LIBS = env.get('SOQT_LIBS')
,CPPPATH = env.get('SOQT_CPPPATH')
,CPPPATH = env.get('SOQT_CPPPATH')
,LIBPATH = env.get('SOQT_LIBPATH')
,LIBPATH = env.get('SOQT_LIBPATH')
,CPPDEFINES = env.get('SOQT_CPPDEFINES')
,CPPDEFINES = env.get('SOQT_CPPDEFINES')
)
)


env.Program('mysoqtapp',['mysoqtapp.cpp'])</source>
env.Program('mysoqtapp',['mysoqtapp.cpp'])
</source>


[[Category:Miscellany]]
[[Category:Miscellany]]
[[Category:MinGW]]
[[Category:MinGW]]

Latest revision as of 03:07, 25 July 2013

Some images have been lost from this page during a recent server failure. We are working to restore the missing content.

Here are some binary installers for Coin (aka Coin3d) and SoQt for use with the MinGW GCC 3.4.5 compiler.

Note that this version of Qt is fairly old now. If you want to use a later version of Qt, then you will have to recompile SoQt and Coin3D. Note that newer versions of those tools are also now available, as well.

Also note we have experienced problems with these installers on Windows 7. Please let us know your experiences, or any fixes that you find. We're working on an update and a new version release (Apr 2011). These instructions from Tonatiuh may be helpful.

These installers were created with NSIS. I can provide the installer scripts to anyone who's interested.

Using SoQt with MinGW

To demonstrate the use of the above binaries, you can compile the following simple example:

Invalid language.

You need to specify a language like this: <source lang="html">...</source>

Supported languages for syntax highlighting:

a4c, abap, abc, abnf, actionscript, ada, agda, alan, algol, ampl, amtrix, applescript, arc, arm, as400cl, ascend, asciidoc, asp, aspect, assembler, ats, autohotkey, autoit, avenue, awk, ballerina, bat, bbcode, bcpl, bibtex, biferno, bison, blitzbasic, bms, bnf, boo, c, carbon, ceylon, charmm, chill, chpl, clean, clearbasic, clipper, clojure, clp, cmake, cobol, coffeescript, coldfusion, conf, cpp2, critic, crk, crystal, cs_block_regex, csharp, css, d, dart, delphi, diff, dockerfile, dts, dylan, ebnf, ebnf2, eiffel, elixir, elm, email, erb, erlang, euphoria, exapunks, excel, express, factor, fame, fasm, felix, fish, fortran77, fortran90, frink, fsharp, fstab, fx, gambas, gdb, gdscript, go, graphviz, haml, hare, haskell, haxe, hcl, html, httpd, hugo, icon, idl, idlang, inc_luatex, informix, ini, innosetup, interlis, io, jam, jasmin, java, javascript, js_regex, json, jsp, jsx, julia, kotlin, ldif, less, lhs, lilypond, limbo, lindenscript, lisp, logtalk, lotos, lotus, lua, luban, makefile, maple, markdown, matlab, maya, mercury, meson, miranda, mod2, mod3, modelica, moon, ms, msl, mssql, mxml, n3, nasal, nbc, nemerle, netrexx, nginx, nice, nim, nix, nsis, nxc, oberon, objc, ocaml, octave, oorexx, org, os, oz, paradox, pas, pdf, perl, php, pike, pl1, plperl, plpython, pltcl, po, polygen, pony, pov, powershell, pro, progress, ps, psl, pure, purebasic, purescript, pyrex, python, q, qmake, qml, qu, r, rebol, rego, rexx, rnc, rpg, rpl, rst, ruby, rust, s, sam, sas, scad, scala, scilab, scss, shellscript, slim, small, smalltalk, sml, snmp, snobol, solidity, spec, spn, sql, squirrel, styl, svg, swift, sybase, tcl, tcsh, terraform, tex, toml, tsql, tsx, ttcn3, txt, typescript, upc, vala, vb, verilog, vhd, vimscript, vue, wat, whiley, wren, xml, xpp, yaiff, yaml, yaml_ansible, yang, zig, znn

This may be compiled using the following commands, using the MSYS command-line:

Invalid language.

You need to specify a language like this: <source lang="html">...</source>

Supported languages for syntax highlighting:

a4c, abap, abc, abnf, actionscript, ada, agda, alan, algol, ampl, amtrix, applescript, arc, arm, as400cl, ascend, asciidoc, asp, aspect, assembler, ats, autohotkey, autoit, avenue, awk, ballerina, bat, bbcode, bcpl, bibtex, biferno, bison, blitzbasic, bms, bnf, boo, c, carbon, ceylon, charmm, chill, chpl, clean, clearbasic, clipper, clojure, clp, cmake, cobol, coffeescript, coldfusion, conf, cpp2, critic, crk, crystal, cs_block_regex, csharp, css, d, dart, delphi, diff, dockerfile, dts, dylan, ebnf, ebnf2, eiffel, elixir, elm, email, erb, erlang, euphoria, exapunks, excel, express, factor, fame, fasm, felix, fish, fortran77, fortran90, frink, fsharp, fstab, fx, gambas, gdb, gdscript, go, graphviz, haml, hare, haskell, haxe, hcl, html, httpd, hugo, icon, idl, idlang, inc_luatex, informix, ini, innosetup, interlis, io, jam, jasmin, java, javascript, js_regex, json, jsp, jsx, julia, kotlin, ldif, less, lhs, lilypond, limbo, lindenscript, lisp, logtalk, lotos, lotus, lua, luban, makefile, maple, markdown, matlab, maya, mercury, meson, miranda, mod2, mod3, modelica, moon, ms, msl, mssql, mxml, n3, nasal, nbc, nemerle, netrexx, nginx, nice, nim, nix, nsis, nxc, oberon, objc, ocaml, octave, oorexx, org, os, oz, paradox, pas, pdf, perl, php, pike, pl1, plperl, plpython, pltcl, po, polygen, pony, pov, powershell, pro, progress, ps, psl, pure, purebasic, purescript, pyrex, python, q, qmake, qml, qu, r, rebol, rego, rexx, rnc, rpg, rpl, rst, ruby, rust, s, sam, sas, scad, scala, scilab, scss, shellscript, slim, small, smalltalk, sml, snmp, snobol, solidity, spec, spn, sql, squirrel, styl, svg, swift, sybase, tcl, tcsh, terraform, tex, toml, tsql, tsx, ttcn3, txt, typescript, upc, vala, vb, verilog, vhd, vimscript, vue, wat, whiley, wren, xml, xpp, yaiff, yaml, yaml_ansible, yang, zig, znn

Note that it should be possible to do the above using just g++ soqtexample.cpp `soqt-config --libs --cppflags --ldflags`, however a problem with the presence of spaces in the output from the soqt-config script causes problems.

You can then run the resulting ./a.exe program, which will appear as shown below.


Cross-platform build script

Here is a minimal build script that allows the above program to be build on both Windows and Linux using the Scons build tool. Note that on Linux, we can make use of the 'soqt-config' script to detect compile-time settings for this library.

Invalid language.

You need to specify a language like this: <source lang="html">...</source>

Supported languages for syntax highlighting:

a4c, abap, abc, abnf, actionscript, ada, agda, alan, algol, ampl, amtrix, applescript, arc, arm, as400cl, ascend, asciidoc, asp, aspect, assembler, ats, autohotkey, autoit, avenue, awk, ballerina, bat, bbcode, bcpl, bibtex, biferno, bison, blitzbasic, bms, bnf, boo, c, carbon, ceylon, charmm, chill, chpl, clean, clearbasic, clipper, clojure, clp, cmake, cobol, coffeescript, coldfusion, conf, cpp2, critic, crk, crystal, cs_block_regex, csharp, css, d, dart, delphi, diff, dockerfile, dts, dylan, ebnf, ebnf2, eiffel, elixir, elm, email, erb, erlang, euphoria, exapunks, excel, express, factor, fame, fasm, felix, fish, fortran77, fortran90, frink, fsharp, fstab, fx, gambas, gdb, gdscript, go, graphviz, haml, hare, haskell, haxe, hcl, html, httpd, hugo, icon, idl, idlang, inc_luatex, informix, ini, innosetup, interlis, io, jam, jasmin, java, javascript, js_regex, json, jsp, jsx, julia, kotlin, ldif, less, lhs, lilypond, limbo, lindenscript, lisp, logtalk, lotos, lotus, lua, luban, makefile, maple, markdown, matlab, maya, mercury, meson, miranda, mod2, mod3, modelica, moon, ms, msl, mssql, mxml, n3, nasal, nbc, nemerle, netrexx, nginx, nice, nim, nix, nsis, nxc, oberon, objc, ocaml, octave, oorexx, org, os, oz, paradox, pas, pdf, perl, php, pike, pl1, plperl, plpython, pltcl, po, polygen, pony, pov, powershell, pro, progress, ps, psl, pure, purebasic, purescript, pyrex, python, q, qmake, qml, qu, r, rebol, rego, rexx, rnc, rpg, rpl, rst, ruby, rust, s, sam, sas, scad, scala, scilab, scss, shellscript, slim, small, smalltalk, sml, snmp, snobol, solidity, spec, spn, sql, squirrel, styl, svg, swift, sybase, tcl, tcsh, terraform, tex, toml, tsql, tsx, ttcn3, txt, typescript, upc, vala, vb, verilog, vhd, vimscript, vue, wat, whiley, wren, xml, xpp, yaiff, yaml, yaml_ansible, yang, zig, znn

SCons 'tool' for detecting SoQt/Coin

The following rather more rigorous detection script works on Windows with the above MinGW binaries for SoQt/Coin3D as well as on Linux. Note that on Windows, it will happily detect if you installed SoQt or Coin3D in non-standard locations by using the Windows registry, but that it is hard-wired for the c:\Qt\4.3.3 folder in the case of Qt.

Invalid language.

You need to specify a language like this: <source lang="html">...</source>

Supported languages for syntax highlighting:

a4c, abap, abc, abnf, actionscript, ada, agda, alan, algol, ampl, amtrix, applescript, arc, arm, as400cl, ascend, asciidoc, asp, aspect, assembler, ats, autohotkey, autoit, avenue, awk, ballerina, bat, bbcode, bcpl, bibtex, biferno, bison, blitzbasic, bms, bnf, boo, c, carbon, ceylon, charmm, chill, chpl, clean, clearbasic, clipper, clojure, clp, cmake, cobol, coffeescript, coldfusion, conf, cpp2, critic, crk, crystal, cs_block_regex, csharp, css, d, dart, delphi, diff, dockerfile, dts, dylan, ebnf, ebnf2, eiffel, elixir, elm, email, erb, erlang, euphoria, exapunks, excel, express, factor, fame, fasm, felix, fish, fortran77, fortran90, frink, fsharp, fstab, fx, gambas, gdb, gdscript, go, graphviz, haml, hare, haskell, haxe, hcl, html, httpd, hugo, icon, idl, idlang, inc_luatex, informix, ini, innosetup, interlis, io, jam, jasmin, java, javascript, js_regex, json, jsp, jsx, julia, kotlin, ldif, less, lhs, lilypond, limbo, lindenscript, lisp, logtalk, lotos, lotus, lua, luban, makefile, maple, markdown, matlab, maya, mercury, meson, miranda, mod2, mod3, modelica, moon, ms, msl, mssql, mxml, n3, nasal, nbc, nemerle, netrexx, nginx, nice, nim, nix, nsis, nxc, oberon, objc, ocaml, octave, oorexx, org, os, oz, paradox, pas, pdf, perl, php, pike, pl1, plperl, plpython, pltcl, po, polygen, pony, pov, powershell, pro, progress, ps, psl, pure, purebasic, purescript, pyrex, python, q, qmake, qml, qu, r, rebol, rego, rexx, rnc, rpg, rpl, rst, ruby, rust, s, sam, sas, scad, scala, scilab, scss, shellscript, slim, small, smalltalk, sml, snmp, snobol, solidity, spec, spn, sql, squirrel, styl, svg, swift, sybase, tcl, tcsh, terraform, tex, toml, tsql, tsx, ttcn3, txt, typescript, upc, vala, vb, verilog, vhd, vimscript, vue, wat, whiley, wren, xml, xpp, yaiff, yaml, yaml_ansible, yang, zig, znn

Here is an example of how to use the 'soqt.py' tool with SCons to build a simple SoQt app:

Invalid language.

You need to specify a language like this: <source lang="html">...</source>

Supported languages for syntax highlighting:

a4c, abap, abc, abnf, actionscript, ada, agda, alan, algol, ampl, amtrix, applescript, arc, arm, as400cl, ascend, asciidoc, asp, aspect, assembler, ats, autohotkey, autoit, avenue, awk, ballerina, bat, bbcode, bcpl, bibtex, biferno, bison, blitzbasic, bms, bnf, boo, c, carbon, ceylon, charmm, chill, chpl, clean, clearbasic, clipper, clojure, clp, cmake, cobol, coffeescript, coldfusion, conf, cpp2, critic, crk, crystal, cs_block_regex, csharp, css, d, dart, delphi, diff, dockerfile, dts, dylan, ebnf, ebnf2, eiffel, elixir, elm, email, erb, erlang, euphoria, exapunks, excel, express, factor, fame, fasm, felix, fish, fortran77, fortran90, frink, fsharp, fstab, fx, gambas, gdb, gdscript, go, graphviz, haml, hare, haskell, haxe, hcl, html, httpd, hugo, icon, idl, idlang, inc_luatex, informix, ini, innosetup, interlis, io, jam, jasmin, java, javascript, js_regex, json, jsp, jsx, julia, kotlin, ldif, less, lhs, lilypond, limbo, lindenscript, lisp, logtalk, lotos, lotus, lua, luban, makefile, maple, markdown, matlab, maya, mercury, meson, miranda, mod2, mod3, modelica, moon, ms, msl, mssql, mxml, n3, nasal, nbc, nemerle, netrexx, nginx, nice, nim, nix, nsis, nxc, oberon, objc, ocaml, octave, oorexx, org, os, oz, paradox, pas, pdf, perl, php, pike, pl1, plperl, plpython, pltcl, po, polygen, pony, pov, powershell, pro, progress, ps, psl, pure, purebasic, purescript, pyrex, python, q, qmake, qml, qu, r, rebol, rego, rexx, rnc, rpg, rpl, rst, ruby, rust, s, sam, sas, scad, scala, scilab, scss, shellscript, slim, small, smalltalk, sml, snmp, snobol, solidity, spec, spn, sql, squirrel, styl, svg, swift, sybase, tcl, tcsh, terraform, tex, toml, tsql, tsx, ttcn3, txt, typescript, upc, vala, vb, verilog, vhd, vimscript, vue, wat, whiley, wren, xml, xpp, yaiff, yaml, yaml_ansible, yang, zig, znn