I included a collection of include files provided by Shawn. that greatly reduced the numer of errors.
I also had to add -msse to the CXXFLAGS in Avizo500.app/Contents/MacOS/makearch-MacX.cfg to prevent SSE errors.
More errors:
from /Users/erlebach/Documents/src/avizo_local/src/mylines/HxLineSetEditor.cpp:146:
/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:255: error: ?~@~X__m128i?~@~Y does not name a type
In file included from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/DriverServices.h:32,
from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:125,
from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:24,
from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/Carbon.framework/Headers/Carbon.h:20,
from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/AGL.framework/Headers/agl.h:23,
from /Applications/Avizo500.app/Contents/MacOS/include/Amira/hxgl.h:46,
from /Applications/Avizo500.app/Contents/MacOS/include/Amira/HxViewer.h:66,
from /Users/erlebach/Documents/src/avizo_local/src/mylines/HxLineSetEditor.cpp:146:
/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:255: error: ?~@~X__m128i?~@~Y does not name a type
MORE:
/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/Carbon.framework/Frameworks/HIToolbox.framework/Headers/CarbonEventsCore.h:1763: error: conflicting declaration ?~@~Xtypedef struct __EventLoopTimer* EventLoopTimerRef?~@~Y
/Users/erlebach/Documents/src/avizo_local/shawn/qt/qwindowdefs.h:94: error: ?~@~XEventLoopTimerRef?~@~Y has a previous declaration as ?~@~Xtypedef struct OpaqueEventLoopTimerRef* EventLoopTimerRef?~@~Y
These errors relate to the graphic subsystem on the mac (at least the Carbon-related ones do). These will be hard to deal with.
Conflicting variables (multiply defined):
from /Users/erlebach/Documents/src/avizo_local/src/mylines/HxLineSetEditor.cpp:146:
/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/Carbon.framework/Frameworks/HIToolbox.framework/Headers/Menus.h:807: error: conflicting declaration ?~@~Xtypedef struct OpaqueMenuRef* MenuRef?~@~Y
/Users/erlebach/Documents/src/avizo_local/shawn/qt/qwindowdefs.h:96: error: ?~@~XMenuRef?~@~Y has a previous declaration as ?~@~Xtypedef struct OpaqueMenuHandle* MenuRef?~@~Y
I will simply comment out the variable in qtwindowdefs.h for now. A better solution would be better #ifdefs.
OK, no more conflicting variables. Errors are decreasing. More …
In file included from /Applications/Avizo500.app/Contents/MacOS/include/Amira/HxMain.h:50,
from /Users/erlebach/Documents/src/avizo_local/src/mylines/HxLineSetEditor.cpp:139:
/Users/erlebach/Documents/src/avizo_local/shawn/qt/qmenubar.h:174: error: ?~@~XMenuRef?~@~Y has not been declared
/Users/erlebach/Documents/src/avizo_local/shawn/qt/qmenubar.h:175: error: ?~@~XMenuRef?~@~Y does not name a type
/Users/erlebach/Documents/src/avizo_local/shawn/qt/qmenubar.h:184: error: ?~@~XMenuRef?~@~Y has not been declared
/Users/erlebach/Documents/src/avizo_local/shawn/qt/qmenubar.h:187: error: ?~@~XMenuRef?~@~Y has not been declared
/Users/erlebach/Documents/src/avizo_local/shawn/qt/qmenubar.h:188: error: ?~@~XMenuRef?~@~Y has not been declared
Perhaps the error is different
MenuRef has not been declared. I am searching.
// Notice my changes in shawn/qtwindows.h
#if defined(Q_WS_MAC)
#if QT_MACOSX_VERSION < 0x1020
// typedef struct OpaqueEventLoopTimerRef* EventLoopTimerRef; // GE (in Carbon include files)
// in /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/Carbon.framework/Frameworks/HIToolbox.framework/Headers/CarbonEventsCore.h:
// from /Users/erlebach/Documents/src/avizo_local/src/mylines/HxLineSetEditor.cpp:146:
// Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/Carbon.framework/Frameworks/HIToolbox.framework/Headers/Menus.h:807: error: conflicting declaration ?~@~Xtypedef struct OpaqueMenuRef* MenuRef?~@~Y
// /Users/erlebach/Documents/src/avizo_local/shawn/qt/qwindowdefs.h:96: error: ?~@~XMenuRef?~@~Y has a previous declaration as ?~@~Xtypedef struct OpaqueMenuHandle* MenuRef?~@~Y
//typedef struct OpaqueMenuHandle *MenuRef; // ORIG
typedef struct OpaqueMenuRef* MenuRef; // GE (to avoid conflict) in /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/Carbon.framework/Frameworks/HIToolbox.framework/Headers/Menus.h
#else
//typedef struct __EventLoopTimer* EventLoopTimerRef; // GE
typedef struct OpaqueMenuRef* MenuRef;
#endif
========
Final error for HxLineSetEditor.cpp
In file included from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/DriverServices.h:32,
from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:125,
from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:24,
from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/Carbon.framework/Headers/Carbon.h:20,
from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/AGL.framework/Headers/agl.h:23,
from /Applications/Avizo500.app/Contents/MacOS/include/Amira/hxgl.h:46,
from /Applications/Avizo500.app/Contents/MacOS/include/Amira/HxViewer.h:66,
from /Users/erlebach/Documents/src/avizo_local/src/mylines/HxLineSetEditor.cpp:146:/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:255: error: ?~@~X__m128i?~@~Y does not name a type/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:256: error: ?~@~X__m128d?~@~Y does not name a type
I included in HxLineSetEditor.cpp (had no effect)
// GE for Mac only (related to SSE vectorized library)
#include // GE
SHould have worked since this include file defines __m128i
—–
Solution: enable sse2 and not ss3 (-msse2 on the g++ compiler). I found this using the “locate” command in linux/OSX. I found the definition in /usr/local/lib/gcc/i386-apple-darwin9.0.0/4.3.0/include/mmintrin.h . __m128i is a “long long”.
——
Makefile works all the way up to using the moc compiler, which is assumed to be in
/Applications/Avizo500.app/Contents/MacOS/bin/arch-MacX-Optimize
It is not. Therefore, I did: sudo ln -s /usr/bin/moc, and I hope this will work.
The moc compiler for qt4.4 appers to require “include for it to work. This is no in the original include files provided by Shawn.
I need a version of moc for Qt 3.3.6, otherwise I will not be able to compile. The way QObject includes has changed.
I want to install qt manually; otherwise, it might mix incorrectly with current version (4.4).
3.3.6 versions of Qt cannot even be found on the Trolltech website. I did find it there, under “previous versions”: ftp://ftp.trolltech.com/qt/source/qt-mac-free-3.3.7.tar.gz
—–