查看: 5062|回复: 7

请教mingw32-make[1]: *** [src/osgUtil/CMakeFiles/osgUtil.dir/all] 错误

[复制链接]

该用户从未签到

发表于 2009-1-14 21:01:33 | 显示全部楼层 |阅读模式
请问各位用vc71,vc80编译的3rdParty_Win32binaries可以在mingw32-make下进行编译吗

我编译了很多次了,每次到这里就出错。我的编译环境是mingw32-make。
我想在wxWidgets+osg+eclipse下面做开发。请高手解答,非常感谢。
[ 14%] Building CXX object src/osgUtil/CMakeFiles/osgUtil.dir/StateGraph.obj
[ 14%] Building CXX object src/osgUtil/CMakeFiles/osgUtil.dir/Statistics.obj
[ 14%] Building CXX object src/osgUtil/CMakeFiles/osgUtil.dir/TangentSpaceGenera
tor.obj
[ 14%] Building CXX object src/osgUtil/CMakeFiles/osgUtil.dir/Tessellator.obj
C:\osggis\OpenSceneGraph-2.6.1\src\osgUtil\Tessellator.cpp: In member function `
void osgUtil::Tessellator::beginTessellation()':
C:\osggis\OpenSceneGraph-2.6.1\src\osgUtil\Tessellator.cpp:44: error: invalid co
nversion from `void (*)(...)' to `void (*)()'
C:\osggis\OpenSceneGraph-2.6.1\src\osgUtil\Tessellator.cpp:44: error:   initiali
zing argument 3 of `void gluTessCallback(GLUtesselator*, GLenum, void (*)())'
C:\osggis\OpenSceneGraph-2.6.1\src\osgUtil\Tessellator.cpp:45: error: invalid co
nversion from `void (*)(...)' to `void (*)()'
C:\osggis\OpenSceneGraph-2.6.1\src\osgUtil\Tessellator.cpp:45: error:   initiali
zing argument 3 of `void gluTessCallback(GLUtesselator*, GLenum, void (*)())'
C:\osggis\OpenSceneGraph-2.6.1\src\osgUtil\Tessellator.cpp:46: error: invalid co
nversion from `void (*)(...)' to `void (*)()'
C:\osggis\OpenSceneGraph-2.6.1\src\osgUtil\Tessellator.cpp:46: error:   initiali
zing argument 3 of `void gluTessCallback(GLUtesselator*, GLenum, void (*)())'
C:\osggis\OpenSceneGraph-2.6.1\src\osgUtil\Tessellator.cpp:47: error: invalid co
nversion from `void (*)(...)' to `void (*)()'
C:\osggis\OpenSceneGraph-2.6.1\src\osgUtil\Tessellator.cpp:47: error:   initiali
zing argument 3 of `void gluTessCallback(GLUtesselator*, GLenum, void (*)())'
C:\osggis\OpenSceneGraph-2.6.1\src\osgUtil\Tessellator.cpp:48: error: invalid co
nversion from `void (*)(...)' to `void (*)()'
C:\osggis\OpenSceneGraph-2.6.1\src\osgUtil\Tessellator.cpp:48: error:   initiali
zing argument 3 of `void gluTessCallback(GLUtesselator*, GLenum, void (*)())'
mingw32-make[2]: *** [src/osgUtil/CMakeFiles/osgUtil.dir/Tessellator.obj] Error
1
mingw32-make[1]: *** [src/osgUtil/CMakeFiles/osgUtil.dir/all] Error 2
mingw32-make: *** [all] Error 2

该用户从未签到

发表于 2009-1-14 21:31:59 | 显示全部楼层
您的错误和第三方库(3rdParty_Win32binaries)没什么关系,是核心库osgUtil编译出错了;不过VC编译的第三方库是不能在mingw下用的。
不知您用的mingw的版本是多少,我的大约是mingw 5.1左右的版本,编译OSG 2.6.0没有问题。
不过我没有用过2.6.1,虽说是老朋友Paul Martz的作品,但毕竟是非官方版本(正经说法叫做branch,一个研究用的分支版本),而且不会再更新,建议换而使用稳定版本或者2.7系列的开发者版本。

该用户从未签到

 楼主| 发表于 2009-1-18 02:57:16 | 显示全部楼层

新错误以及2.6无法用mingw编译的问题,请解答,谢谢

利用mingw编译2.7.8 多次出现这个问题。始终过不去。请问是何问题。另外阿锐那天建议编译2.6,我试着编译2.6,出现cmake无法建立配置的问题,不知是哪里出了错,如方便请指导一下,非常感谢。
Linking CXX shared module ..\..\..\bin\osgPlugins-2.7.8\mingw_osgdb_ive.dll
Warning: .drectve `/DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" ' unrecognized
Warning: .drectve `/DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" ' unrecognized
Warning: .drectve `/DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" ' unrecognized
Warning: .drectve `/DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" ' unrecognized
Warning: .drectve `/DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" ' unrecognized
Warning: .drectve `/DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" ' unrecognized
Warning: .drectve `/DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" ' unrecognized
Warning: .drectve `/DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" ' unrecognized
Warning: .drectve `/DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" ' unrecognized
Cannot export ??_C@_00CNPNBAHC@?$AA@: symbol not found
Cannot export ??_C@_05HKGLBEIA@1?42?42?$AA@: symbol not found
Cannot export ??_C@_0BA@MOKMMFOD@need?5dictionary?$AA@: symbol not found
Cannot export ??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@: symbol not found
Cannot export ??_C@_0BE@EMOGCLGO@invalid?5window?5size?$AA@: symbol not found
Cannot export ??_C@_0BE@GONKLEPM@header?5crc?5mismatch?$AA@: symbol not found
Cannot export ??_C@_0BE@OGGJBMCE@insufficient?5memory?$AA@: symbol not found
Cannot export ??_C@_0BF@CJFPCCEG@incompatible?5version?$AA@: symbol not found
Cannot export ??_C@_0BF@MEIGEHBE@incorrect?5data?5check?$AA@: symbol not found
Cannot export ??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@: symbol not found
Cannot export ??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@: symbol not found
Cannot export ??_C@_0BH@FGKKJGOC@incorrect?5length?5check?$AA@: symbol not found
Cannot export ??_C@_0BH@LIBMMIGA@incorrect?5header?5check?$AA@: symbol not found
Cannot export ??_C@_0BJ@BLBBCOMO@unknown?5header?5flags?5set?$AA@: symbol not found
Cannot export ??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@: symbol not found
Cannot export ??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@: symbol not found
Cannot export ??_C@_0BL@IHKGDAEE@unknown?5compression?5method?$AA@: symbol not found
Cannot export ??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@: symbol not found
Cannot export ??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@: symbol not found
Cannot export ??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@: symbol not found
Cannot export ??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@: symbol not found
Cannot export ??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@: symbol not found
Cannot export ??_C@_0L@FNAOCBOG@stream?5end?$AA@: symbol not found
Cannot export ??_C@_0L@HAHMBNLP@data?5error?$AA@: symbol not found
Cannot export ??_C@_0L@KIJFAKBJ@file?5error?$AA@: symbol not found
Cannot export ??_C@_0N@DFPGLBGC@buffer?5error?$AA@: symbol not found
Cannot export ??_C@_0N@MKKNPMJD@stream?5error?$AA@: symbol not found
collect2: ld returned 1 exit status
mingw32-make[2]: *** [bin/osgPlugins-2.7.8/mingw_osgdb_ive.dll] Error 1
mingw32-make[1]: *** [src/osgPlugins/ive/CMakeFiles/osgdb_ive.dir/all] Error 2
mingw32-make: *** [all] Error 2

该用户从未签到

 楼主| 发表于 2009-1-18 03:20:57 | 显示全部楼层
另外,关于mfc的那个例子已经关闭。选择了off。
cmake配置如下(那些三方库一部分是我自己用mingw编译的,一部分是其他网友编译的下载的):
c:\1.jpg
c:\2.jpg
c:\3.jpg
c:\4.jpg

该用户从未签到

发表于 2009-1-18 15:59:55 | 显示全部楼层
您的新的错误我似乎明白了,osgdb_ive是需要zlib库支持才能够编译的,那么您提供的zlib库是使用VC还是minGW生成的?如果是前者的话就会提示“DEFAULTLIB:"OLDNAMES" ' unrecognized”之类的错误,我已经试验过了,用zlib官方提供的mingw版本的预编译库编译2.7.8就没有任何问题了;其它需要第三方库的插件(例如gif,jpg等)也是这个道理

至于Cmake配置的附图,因为您使用了您的本地图片地址,所以我和其他人都是看不到的~~

该用户从未签到

 楼主| 发表于 2009-1-18 20:12:18 | 显示全部楼层
非常感谢阿锐的解答。
我是用mingw编译的,我现在还不会发图片,我看只有那一种添加图片的方式。
不知道论坛能不能添加本地图片到论坛上发帖。

[ 本帖最后由 xhgis 于 2009-1-18 20:13 编辑 ]

cmake配置1

cmake配置1

cmake配置2

cmake配置2

cmake配置3

cmake配置3

cmake配置4

cmake配置4

该用户从未签到

 楼主| 发表于 2009-1-18 20:20:14 | 显示全部楼层
还有一个问题是用vs2005编译,选了visual studio 8 2005,进行编译,出现如下错误。
我装了qt,但是为什么vs2005编译却提示qt的错误。我现在想用wxwidgets进行开发。
况且我用vc7.1无法编译。不知道是什么问题,请解答,非常感谢。

[ 本帖最后由 xhgis 于 2009-1-18 20:22 编辑 ]

vs2005下cmake配置错误

vs2005下cmake配置错误

该用户从未签到

发表于 2009-1-18 20:27:07 | 显示全部楼层
It appears you're trying to use Visual Studio with Qt built by mingw

这句话不是说得很明白了吗?您的Qt是使用mingw编译的,不能用在VS上。
包括您之前的错误也是一样,绝对不可以把VS和mingw混用。如果您不想用Qt编译的话,把Qt有关的那些项都清空就可以了。

用VS7.1可以编译。出问题的话,请首先检查您的依赖库混用的问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表