Hi Jean-Sebastien,

I checked your comments from this thread
http://thread.gmane.org/gmane.comp.graphics.openscenegraph.cvs/6738<http://www.google.com/url?sa=D&q=http://thread.gmane.org/gmane.comp.graphics.openscenegraph.cvs/6738&usg=AFQjCNEdPuRua1NsIhFWIQJUp0Z18wNTAA>and
decided to try it out. I noticed that some of the fixes were submitted
to the SVN trunk, so first thing I did was a checkout of
http://www.openscenegraph.org/svn/osg/OpenSceneGraph/trunk (rev 10983)

Below an overview of my settings (just in case somebody wants to confirm the
results)


Compiler
========
MinGW (Nuwen 5.0)
http://nuwen.net/files/mingw/mingw-5.0.zip

$ g++ --version
g++.exe (GCC) 4.4.1-nuwen
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

3rd Party Dependencies
======================

(1) Libtiff (3.4-1)
Download:
http://sourceforge.net/projects/mingwrep/files/libtiff-devel/3.4-1/libtiff-devel-3.4-1.zip/download

(2) Libxml2 (2.7.6)
Download: http://xmlsoft.org/sources/win32/libxml2-2.7.6.win32.zip

(3) Curl (7.17.1)
Download: http://curl.haxx.se/latest.cgi?curl=win32-devel

(4) FFmpeg (not official, precompiled mingw binary)
http://mingw-w64-dgn.googlecode.com/files/ffmpeg-w32-bin-i686-20100108.7z

(5) Qt libraries 4.6.1 for Windows (minGW 4.4, 277 MB)
Download: http://qt.nokia.com/downloads/windows-cpp
Install: just run the setup and use the default location (C:\Qt\4.6.1)

OpenSceneGraph-SVN-r10983-3rdParty.7z  (this package includes everything
above except the Qt SDK)
http://www.multigesture.net/wp-content/plugins/download-monitor/download.php?id=28


CMAKE
=====
Where is the source code: C:/OpenSceneGraphSrc/OpenSceneGraphSVN
Where to build the binaries: C:/OpenSceneGraphBuild/OpenSceneGraph-SVN

ACTUAL_3DPARTY_DIR: C:/MinGW
CMAKE_BUILD_TYPE: Release
CMAKE_INSTALL_PREFIX: C:/OpenSceneGraph/OpenSceneGraph-SVN

FFMPEG_ROOT: C:/OpenSceneGraphSrc/3rdParty/ffmpeg (after hitting configure
it will find all files automatically)

SDL_INCLUDE_DIR: C:/MinGW/include/SDL
SDL_LIBRARY: C:/MinGW/lib/libSDL.a
SDLMAIN:_LIBRARY: C:/MinGW/lib/libSDLmain.a

CURL_INCLUDE_DIR: C:/OpenSceneGraphSrc/3rdParty/libcurl-7.17.1/include
CURL_LIBRARY: C:/OpenSceneGraphSrc/3rdParty/libcurl-7.17.1/lib/libcurl.a

TIFF_INCLUDE_DIR: C:/OpenSceneGraphSrc/3rdParty/libtiff-devel-3.4-1/include
TIFF_LIBRARY:
C:/OpenSceneGraphSrc/3rdParty/libtiff-devel-3.4-1/lib/libtiff.a

LIBXML2_INCLUDE_DIR:
C:/OpenSceneGraphSrc/3rdParty/libxml2-2.7.6.win32/include
LIBXML2_LIBRARIES:
C:/OpenSceneGraphSrc/3rdParty/libxml2-2.7.6.win32/lib/libxml2.lib

QT4: This is not so trivial, I don't remember how I got it working. I just
filled out a few of the entries with the appropiate values and kept hitting
configure. After getting a few messages about Qt3 and Qt4 it found most of
the locations automatically.
QT_QT_LIBRARY: Didn't know what to put in here, so I kept it empty.

Building
========

In MSYS (create a symlink as Jean-Sebastien Guay suggests on the OSG
mailinglist):
# cd /mingw/include
# ln -s freetype2 freetype

Change to your build directory and build!
# cd /c/C:/OpenSceneGraphBuild/OpenSceneGraph-SVN
# make
# make install


List of issues:
===============

Unlike what Jean-Sebastien Guay reports here
http://thread.gmane.org/gmane.comp.graphics.openscenegraph.cvs/6738 I don't
have any problems (might already been fixed):
osgviewerQT - no issues
osgviewerQtWidget - no issues

The only application that does not wants to build is osgQtBrowser (error
message below)

The fix is simple:
The missing header files should be here: C:\Qt\4.6.1\include\QtCore

Seems like the CMakeList.txt files doesn't include the QTCORE header files.

Patch:
C:\OpenSceneGraphSrc\OpenSceneGraphSVN\examples\osgQtBrowser\CMakeLists.txt
from: INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR} )
to: INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR} ${QT_QTCORE_INCLUDE_DIR})

It should now compile just fine.

=====================================================================================================================================================================

[100%] Built target example_osgviewerQtWidget
[100%] Generating moc_QGraphicsViewAdapter.cxx
Scanning dependencies of target example_osgQtBrowser
[100%] Building CXX object
examples/osgQtBrowser/CMakeFiles/example_osgQtBrowser
.dir/moc_QGraphicsViewAdapter.obj
In file included from c:/Qt/4.6.1/include/QtWebKit/qwebelement.h:1,
                 from c:/Qt/4.6.1/include/QtWebKit/QtWebKit:7,
                 from
C:/OpenSceneGraphSrc/OpenSceneGraphSVN/examples/osgQtBrowser/QGraphicsViewAdapter.h:21,
                 from
c:/OpenSceneGraphBuild/OpenSceneGraph-SVN/examples/osgQtBrowser/moc_QGraphicsViewAdapter.cxx:10:
c:/Qt/4.6.1/include/QtWebKit/../../src/3rdparty/webkit/WebCore/../WebKit/qt/Api/qwebelement.h:23:19:
error: QString: No such file or directory
c:/Qt/4.6.1/include/QtWebKit/../../src/3rdparty/webkit/WebCore/../WebKit/qt/Api/qwebelement.h:24:23:
error: QStringList: No such file or directory
c:/Qt/4.6.1/include/QtWebKit/../../src/3rdparty/webkit/WebCore/../WebKit/qt/Api/qwebelement.h:25:17:
error: QRect: No such file or directory
c:/Qt/4.6.1/include/QtWebKit/../../src/3rdparty/webkit/WebCore/../WebKit/qt/Api/qwebelement.h:26:20:
error: QVariant: No such file or directory
c:/Qt/4.6.1/include/QtWebKit/../../src/3rdparty/webkit/WebCore/../WebKit/qt/Api/qwebelement.h:27:40:
error: QExplicitlySharedDataPointer: No such file or directory

In file included from c:/Qt/4.6.1/include/QtWebKit/qwebkitversion.h:1,
                 from c:/Qt/4.6.1/include/QtWebKit/QtWebKit:13,
                 from
C:/OpenSceneGraphSrc/OpenSceneGraphSVN/examples/osgQtBrowser/QGraphicsViewAdapter.h:21,
                 from
c:/OpenSceneGraphBuild/OpenSceneGraph-SVN/examples/osgQtBrowser/moc_QGraphicsViewAdapter.cxx:10:
c:/Qt/4.6.1/include/QtWebKit/../../src/3rdparty/webkit/WebCore/../WebKit/qt/Api/qwebkitversion.h:20:21:
error: qstring.h: No such file or directory

In file included from c:/Qt/4.6.1/include/QtWebKit/qwebelement.h:1,
                 from c:/Qt/4.6.1/include/QtWebKit/QtWebKit:7,
                 from
C:/OpenSceneGraphSrc/OpenSceneGraphSVN/examples/osgQtBrowser/QGraphicsViewAdapter.h:21,
                 from
c:/OpenSceneGraphBuild/OpenSceneGraph-SVN/examples/osgQtBrowser/moc_QGraphicsViewAdapter.cxx:10:
c:/Qt/4.6.1/include/QtWebKit/../../src/3rdparty/webkit/WebCore/../WebKit/qt/Api/qwebelement.h:138:
warning: comma at end of enumerator list

make[2]: ***
[examples/osgQtBrowser/CMakeFiles/example_osgQtBrowser.dir/moc_QGraphicsViewAdapter.obj]
Error 1
make[1]: *** [examples/osgQtBrowser/CMakeFiles/example_osgQtBrowser.dir/all]
Error 2
make: *** [all] Error 2

=====================================================================================================================================================================

Summary
=======

It almost compiles out of the box, great job :) ! Only one CMakeList.txt
file needs to be patched and perhaps users should be made aware about the
symlink (to fix the freetype issue).


I've posted the binaries here (OpenSceneGraph-SVN-r10983-bin-dev.7z):
http://www.multigesture.net/wp-content/plugins/download-monitor/download.php?id=27

This includes the header, lib files and demo applications.


Kind regards,
- Laurence Muller

------------------------------------------
Laurence Muller (M.Sc.)
Fellow @ SDR Lab (IIC/SEAS, Harvard University)
Office: Maxwell Dworkin 136 (33 Oxford Street, Cambridge, MA 02138)
Lab website: http://sdr.seas.harvard.edu/people#laurence_muller

Website/Blog/Portfolio:
http://www.multigesture.net/
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to