Hello,
Building windows-1.0.7 on octave 3.2 using mingw32 gives two errors
The first being
__COM__.cc: In function 'string_vector do_invoke_list(const char*, WORD,
const octave_com_object*)':
__COM__.cc:612: error: 'class string_vector' has no member named 'qsort'
and the other
__COM__.o:__COM__.cc:(.text+0x862): undefined reference to `IID_IDispatch'
__COM__.o:__COM__.cc:(.text+0x28b5): undefined reference to `GUID_NULL'
__COM__.o:__COM__.cc:(.text+0x29a4): undefined reference to `GUID_NULL'
__COM__.o:__COM__.cc:(.text$_ZN17octave_com_objectC1EP9IDispatchb[octave_com_object::octave_com_object(IDispatch*,
bool)]+0x78): undefined reference to `IID_IProvideClassInfo'
collect2: ld returned 1 exit status
make: *** [__COM__.oct] Error 1
As to the first, looking at include/octave/str-vec.h, the string_vector
class indeed does not have a 'qsort' member, but a 'sort' member which I
guess is equally OK to use.
The second error arises from a missing -luuid library at link stage.
Apparently mingw's gcc does not include it by default. So adding -luuid
in the makefile does the trick.
with the following changes, the installation succeeds.
diff -urN windows-1.0.7/src/Makefile
windows-1.0.7b/windows-1.0.7/src/Makefile
--- windows-1.0.7/src/Makefile 2009-05-08 15:17:01 +0200
+++ windows-1.0.7b/src/Makefile 2009-06-05 22:18:15 +0200
@@ -24,7 +24,7 @@
$(MKOCTFILE) -o $@ $^ -luser32 -ladvapi32
__COM__.oct: __COM__.o
- $(MKOCTFILE) -o $@ $^ -lole32 -loleaut32 -luser32
+ $(MKOCTFILE) -o $@ $^ -lole32 -loleaut32 -luser32 -luuid
../inst/%.m : %.m.in
if [ ! -d ../inst ]; then mkdir ../inst; fi
diff -urN windows-1.0.7/src/__COM__.cc
windows-1.0.7b/windows-1.0.7/src/__COM__.cc
--- windows-1.0.7/src/__COM__.cc 2009-05-08 15:17:01 +0200
+++ windows-1.0.7b/src/__COM__.cc 2009-06-05 22:12:35 +0200
@@ -609,7 +609,7 @@
}
string_vector v(name_list);
- return v.qsort(true);
+ return v.sort(true);
}
string_vector octave_com_object::map_keys(void) const
benjamin
------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises
looking to deploy the next generation of Solaris that includes the latest
innovations from Sun and the OpenSource community. Download a copy and
enjoy capabilities such as Networking, Storage and Virtualization.
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
Octave-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/octave-dev