Hi,
This is driving me mad. I didn't have this problem when I built 64bit cocoa,
but I had to backstep to carbon due to some issues with wxWindow 2.9.1 cocoa
64bit compatibility issues at the moment.6
I get the following unresolved OpenThreads link error with GCC 4.2/Xcode 3.2,
running OSX 10.6.5.
<snip>
"OpenThreads::Atomic::operator--()", referenced from:
.
<copious compiled objects... listed here....>
.
"OpenThreads::Atomic::operator++()", referenced from:
.
.
<copious compiled objects... listed here...>
.
.
ld: symbol(s) not found
collect2: ld returned 1 exit status
Build Failed 2 errors
<snip>
The Xcode 3.2 compile command, which is rather thick since it includes static
*.a for wxWindows/carbon 32bit, looks like this:
<snip>
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c++ -arch i386 -fmessage-length=0 -pipe
-Wno-trigraphs -fpascal-strings -fasm-blocks -O3 -mdynamic-no-pic -Wreturn-type
-Wswitch -Wunused-variable -Wunknown-pragmas -D__USE_OSX_AGL_IMPLEMENTATION__
-D__WXOSX_CARBON__ -D_FILE_OFFSET_BITS=64 -DWX_PRECOMP -D__WXOSX__ -D__WXMAC__
-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -gdwarf-2
-iquote
/Users/tmorris/TruckWatch/build/TruckWatch.build/Release/TruckWatch.build/TruckWatch-generated-files.hmap
-I/Users/tmorris/TruckWatch/build/TruckWatch.build/Release/TruckWatch.build/TruckWatch-own-target-headers.hmap
-I/Users/tmorris/TruckWatch/build/TruckWatch.build/Release/TruckWatch.build/TruckWatch-all-target-headers.hmap
-iquote
/Users/tmorris/TruckWatch/build/TruckWatch.build/Release/TruckWatch.build/TruckWatch-project-headers.hmap
-Wno-write-strings -F/Users/tmorris/TruckWatch/build/Release
"-F/Users/tmorris/TruckWatch/../OpenSceneGraph-2.8.3/Xcode/OpenSceneGraph/build/Release
32bit C
arbon" -I/Users/tmorris/TruckWatch/build/Release/include
-I/Users/tmorris/RoboTruck/TruckWatch
-I/Users/tmorris/wxWidgets-2.9.1-orig/include
-I/Users/tmorris/wxWidgets-2.9.1-orig/lib/wx/include/osx_carbon-unicode-static-2.9
-I/Users/tmorris/OpenSceneGraph-2.8.3/include
-I/Users/tmorris/TruckWatch/build/TruckWatch.build/Release/TruckWatch.build/DerivedSources/i386
-I/Users/tmorris/TruckWatch/build/TruckWatch.build/Release/TruckWatch.build/DerivedSources
-include
/var/folders/HQ/HQC4U1niHpyYgLMkH2CfEk+++TI/-Caches-/com.apple.Xcode.501/SharedPrecompiledHeaders/TruckWatch_Prefix-cjhobyseblptyxewbsjxcsitkdpo/TruckWatch_Prefix.pch
-DDARWIN_QUICKTIME -DUSE_DARWIN_CARBON_IMPLEMENTATION
-DGLU_TESS_CALLBACK_TRIPLEDOT -c
/Users/tmorris/TruckWatch/../RoboTruck/TruckWatch/TM_MainFrame.cpp -o
/Users/tmorris/TruckWatch/build/TruckWatch.build/Release/TruckWatch.build/Objects-normal/i386/TM_MainFrame.o
<snip>
And the link command, also rather thick-- however note the framework reference
to OpenThreads (-framework OpenThreads) looks like this:
setenv MACOSX_DEPLOYMENT_TARGET 10.5
/Developer/usr/bin/g++-4.2 -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk
-L/Users/tmorris/TruckWatch/build/Release
-L/Users/tmorris/TruckWatch/../wxWidgets-2.9.1-orig/librelease
-F/Users/tmorris/TruckWatch/build/Release
"-F/Users/tmorris/TruckWatch/../OpenSceneGraph-2.8.3/Xcode/OpenSceneGraph/build/Release
32bit Carbon" -filelist
/Users/tmorris/TruckWatch/build/TruckWatch.build/Release/TruckWatch.build/Objects-normal/i386/TruckWatch.LinkFileList
-mmacosx-version-min=10.5 -framework osg -framework osgAnimation -framework
osgDB -framework osgFX -framework osgGA -framework osgIntrospection -framework
osgManipulator -framework osgParticle -framework osgShadow -framework osgSim
-framework osgTerrain -framework osgText -framework osgUtil -framework
osgViewer -framework osgVolume -lwx_baseu_net-2.9 -lwx_baseu_xml-2.9
-lwx_baseu-2.9 -lwx_osx_carbonu_adv-2.9 -lwx_osx_carbonu_aui-2.9
-lwx_osx_carbonu_core-2.9 -lwx_osx_carbonu_gl-2.9 -lwx_osx_carbonu_html-2.9
-lwx_osx_carbonu_medi
a-2.9 -lwx_osx_carbonu_propgrid-2.9 -lwx_osx_carbonu_qa-2.9
-lwx_osx_carbonu_ribbon-2.9 -lwx_osx_carbonu_richtext-2.9
-lwx_osx_carbonu_stc-2.9 -lwx_osx_carbonu_xrc-2.9 -lwxjpeg-2.9 -lwxpng-2.9
-lwxregexu-2.9 -lwxscintilla-2.9 -lwxtiff-2.9 -framework AudioToolbox
-framework Carbon -framework IOKit -framework OpenGL -framework QuickTime
-framework WebKit -liconv -lm -lz -framework Cocoa -framework AGL -framework
OpenThreads -o
/Users/tmorris/TruckWatch/build/Release/TruckWatch.app/Contents/MacOS/TruckWatch
I build osg (and tested the various built apps to make sure they work) with the
32bit carbon; both release and debug. The 32bit carbon release
OpenThreads.framework directory looks like this:
<snip>
teddymac:Current tmorris$ ls
Headers OpenThreads Resources
teddymac:Current tmorris$ ls -l
total 144
drwxr-xr-x 14 tmorris staff 476 Jan 6 22:23 Headers
-rwxr-xr-x 1 tmorris staff 69944 Jan 6 22:23 OpenThreads
drwxr-xr-x 3 tmorris staff 102 Jan 6 22:23 Resources
<snip>
Anyone have any insights or advise? Again the osg example apps, etc. work fine.
So, my guess is that I'm missing something obvious. Staring at this too long, I
think. ;-y
Thank you!
Cheers,
Ted
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=35502#35502
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org