Название: Подключение сторонней библиотеки. Ошибки компиляции Отправлено: bukum от Декабрь 06, 2010, 21:40 Создал консольное приложение, подрубил либу стороннюю. Но вылезли ошибки. Это с либой не так че или я накасячил? Просто сделал точь-в-точь как в мануале, но не получается скомпилить....
*.pro Код: #------------------------------------------------- Код: #include <QtCore/QCoreApplication> Ошибки Цитировать ..\untitled\main.cpp: In function 'osg::ref_ptr<osg::Node> createSceneGraph()': ..\untitled\main.cpp:19: error: conflicting declaration 'osg::ref_ptr<osg::TemplateArray<osg::Vec4f, (osg::Array::Type)11u, 4, 5126> > v' ..\untitled\main.cpp:12: error: 'v' has a previous declaration as 'osg::ref_ptr<osg::TemplateArray<osg::Vec3f, (osg::Array::Type)10u, 3, 5126> > v' ..\untitled\main.cpp:20: error: 'c' was not declared in this scope ..\untitled\main.cpp:22: error: no matching function for call to 'osg::Vec3f::Vec3f(float, float, float, float)' d:\openscenegraph\OpenSceneGraph\include/osg/Vec3f:42: note: candidates are: osg::Vec3f::Vec3f(const osg::Vec2f&, float) d:\openscenegraph\OpenSceneGraph\include/osg/Vec3f:41: note: osg::Vec3f::Vec3f(float, float, float) d:\openscenegraph\OpenSceneGraph\include/osg/Vec3f:40: note: osg::Vec3f::Vec3f() d:\openscenegraph\OpenSceneGraph\include/osg/Vec3f:29: note: osg::Vec3f::Vec3f(const osg::Vec3f&) ..\untitled\main.cpp:23: error: no matching function for call to 'osg::Vec3f::Vec3f(float, float, float, float)' d:\openscenegraph\OpenSceneGraph\include/osg/Vec3f:42: note: candidates are: osg::Vec3f::Vec3f(const osg::Vec2f&, float) d:\openscenegraph\OpenSceneGraph\include/osg/Vec3f:41: note: osg::Vec3f::Vec3f(float, float, float) d:\openscenegraph\OpenSceneGraph\include/osg/Vec3f:40: note: osg::Vec3f::Vec3f() d:\openscenegraph\OpenSceneGraph\include/osg/Vec3f:29: note: osg::Vec3f::Vec3f(const osg::Vec3f&) ..\untitled\main.cpp:24: error: no matching function for call to 'osg::Vec3f::Vec3f(float, float, float, float)' d:\openscenegraph\OpenSceneGraph\include/osg/Vec3f:42: note: candidates are: osg::Vec3f::Vec3f(const osg::Vec2f&, float) d:\openscenegraph\OpenSceneGraph\include/osg/Vec3f:41: note: osg::Vec3f::Vec3f(float, float, float) d:\openscenegraph\OpenSceneGraph\include/osg/Vec3f:40: note: osg::Vec3f::Vec3f() d:\openscenegraph\OpenSceneGraph\include/osg/Vec3f:29: note: osg::Vec3f::Vec3f(const osg::Vec3f&) ..\untitled\main.cpp:25: error: no matching function for call to 'osg::Vec3f::Vec3f(float, float, float, float)' d:\openscenegraph\OpenSceneGraph\include/osg/Vec3f:42: note: candidates are: osg::Vec3f::Vec3f(const osg::Vec2f&, float) d:\openscenegraph\OpenSceneGraph\include/osg/Vec3f:41: note: osg::Vec3f::Vec3f(float, float, float) d:\openscenegraph\OpenSceneGraph\include/osg/Vec3f:40: note: osg::Vec3f::Vec3f() d:\openscenegraph\OpenSceneGraph\include/osg/Vec3f:29: note: osg::Vec3f::Vec3f(const osg::Vec3f&) ..\untitled\main.cpp:28: error: no matching function for call to 'osg::Geometry::setNormalArray(<unresolved overloaded function type>)' d:\openscenegraph\OpenSceneGraph\include/osg/Geometry:150: note: candidates are: void osg::Geometry::setNormalArray(osg::Array*) Название: Re: Подключение сторонней библиотеки. Ошибки компиляции Отправлено: UVV от Декабрь 06, 2010, 22:08 1. В pro-файле не написано с чем собрался линковать (одного пути не достаточно, нужны имена библиотек)
2. У тебя ошибки компилятора, а не linker'a. Так что косяки у тебя в коде, до линковке ты ещё не дошёл. Название: Re: Подключение сторонней библиотеки. Ошибки компиляции Отправлено: bukum от Декабрь 06, 2010, 22:19 1. если указать путь до фаила, то он при компиляции пишет что ЭТО НЕ ДИРЕКТОРИЯ.
Код: cc1plus.exe: error: d:\openscenegraph\OpenSceneGraph\include\osg\Geode: not a directory createSceneGraph -ф-ия на с++ написана, все классы на с++ этой либы... Четко её списал с мануала ,но не стартует Название: Re: Подключение сторонней библиотеки. Ошибки компиляции Отправлено: bukum от Декабрь 06, 2010, 22:31 сократил до
Код: osg::ref_ptr<osg::Node> createSceneGraph() debug/main.o: In function `Z16createSceneGraphv': D:\OpenSceneGraphExample\OSG\examples\osglogo\untitled-build-desktop/../untitled/main.cpp:11: undefined reference to `_imp___ZN3osg8GeometryC1Ev' D:\OpenSceneGraphExample\OSG\examples\osglogo\untitled-build-desktop/../untitled/main.cpp:34: undefined reference to `_imp___ZN3osg5GeodeC1Ev' debug/main.o:d:/openscenegraph/OpenSceneGraph/include/osg/Referenced:147: undefined reference to `_imp___ZN11OpenThreads6AtomicppEv' debug/main.o:d:/openscenegraph/OpenSceneGraph/include/osg/Referenced:164: undefined reference to `_imp___ZN11OpenThreads6AtomicmmEv' debug/main.o:d:/openscenegraph/OpenSceneGraph/include/osg/Referenced:182: undefined reference to `_imp___ZN3osg10Referenced16getDeleteHandlerEv' Название: Re: Подключение сторонней библиотеки. Ошибки компиляции Отправлено: UVV от Декабрь 06, 2010, 22:35 Во, вот теперь налицо ошибки линкера =)
> если указать путь до фаила, то он при компиляции пишет что ЭТО НЕ ДИРЕКТОРИЯ. Директории линкеру указываются с помощью больших букв -L, файлы - с помощью маленьких -l. Название: Re: Подключение сторонней библиотеки. Ошибки компиляции Отправлено: bukum от Декабрь 06, 2010, 22:41 Код: QT += core Название: Re: Подключение сторонней библиотеки. Ошибки компиляции Отправлено: bukum от Декабрь 06, 2010, 23:13 или так?
Код: QT += core Вообщем в этом случае: Цитировать debug/main.o: In function `Z16createSceneGraphv': D:\OpenSceneGraphExample\OSG\examples\osglogo\untitled-build-desktop/../untitled/main.cpp:11: undefined reference to `_imp___ZN3osg8GeometryC1Ev' D:\OpenSceneGraphExample\OSG\examples\osglogo\untitled-build-desktop/../untitled/main.cpp:34: undefined reference to `_imp___ZN3osg5GeodeC1Ev' debug/main.o:d:/openscenegraph/OpenSceneGraph/include/osg/Referenced:147: undefined reference to `_imp___ZN11OpenThreads6AtomicppEv' debug/main.o:d:/openscenegraph/OpenSceneGraph/include/osg/Referenced:164: undefined reference to `_imp___ZN11OpenThreads6AtomicmmEv' debug/main.o:d:/openscenegraph/OpenSceneGraph/include/osg/Referenced:182: undefined reference to `_imp___ZN3osg10Referenced16getDeleteHandlerEv' |