Question about building with VS2010

127 views
Skip to first unread message

Chuck

unread,
Jan 26, 2013, 5:17:08 AM1/26/13
to realxt...@googlegroups.com
Hi everyone,

I am trying to build this branch https://github.com/LudoCraft/Tundra/tree/VS2010 with VS2010. It showed no errors while building the dependencies, but I found out that there are few dependencies' folders are missing compare to Version 2.4.1, including 'ogg', 'vlc' and 'vorbis'. When I tried to build the tundra.sln, errors showed that it needs to link to vorbis.

My question is, can I simply copy these folders ('ogg', 'vlc' and 'vorbis') from Tundra 2.4.1 to deps-vs2010, and then link these dependencies in tundra.sln manually? Or should I do something else? I just want the most basic functions of Tundra right now, so that I could test the KinectSDK plugin.

BR

Ali Kämäräinen

unread,
Jan 26, 2013, 5:22:22 AM1/26/13
to realxt...@googlegroups.com

The VS2010 build script should not work fully. I noticed that I have accidentally left couple brainfarts there. I will probably fix those on Monday. VS2010 and VS2008 compiled binaries are not compatible.

Chuck

unread,
Jan 26, 2013, 6:00:11 AM1/26/13
to realxt...@googlegroups.com
Ok, got it! If you update the script, can you leave a message here? Thank you so much!

Have a nice weekend!

Ali Kämäräinen

unread,
Jan 28, 2013, 11:31:03 AM1/28/13
to realxt...@googlegroups.com
Hi, fixed most of the issues today. Everything except QtScriptGenerator and Protobuf (skipped in the script) should build just fine. Also VLC binary package is built withVS2008 and it's not binary-compatible with VS2010 so it's skipped in the build process. Feel free to give it a shot, but note that as QtScriptGenerator is missing, most of the scripts (MenuBar, FreeLookCamera etc.) don't work at all. However, you can try cpying the <Tundra>\bin\qtplugins\script directory from VS2008-built Tundra to the VS2010-built Tundra, it might work.


Chuck

unread,
Jan 29, 2013, 2:46:48 AM1/29/13
to realxt...@googlegroups.com
Thank you so much!! I am going to try it now!!

Chuck

unread,
Jan 30, 2013, 4:28:37 AM1/30/13
to realxt...@googlegroups.com
Hi,

When the first time I built Tundra VS2010, there are two major errors:


"C:\Users\XX\Desktop\Tundra-VS2010\tundra.sln" (default target) (1)
 ->
"C:\Users\XX\Desktop\Tundra-VS2010\ALL_BUILD.vcxproj.metaproj" (def
ault target) (2) ->
"C:\Users\XX\Desktop\Tundra-VS2010\src\Application\ArchivePlugin\Ar
chivePlugin.vcxproj.metaproj" (default target) (3) ->
"C:\Users\XX\Desktop\Tundra-VS2010\src\Application\ArchivePlugin\Ar
chivePlugin.vcxproj" (default target) (9) ->
(Link target) ->
  ZipAssetBundle.obj : error LNK2019: unresolved external symbol _zzip_dir_read
 referenced in function "public: virtual bool __thiscall ZipAssetBundle::Deseri
alizeFromDiskSource(void)" (?DeserializeFromDiskSource@ZipAssetBundle@@UAE_NXZ)
 [C:\Users\XX\Desktop\Tundra-VS2010\src\Application\ArchivePlugin\A
rchivePlugin.vcxproj]
  ZipAssetBundle.obj : error LNK2019: unresolved external symbol _zzip_dir_open
 referenced in function "public: virtual bool __thiscall ZipAssetBundle::Deseri
alizeFromDiskSource(void)" (?DeserializeFromDiskSource@ZipAssetBundle@@UAE_NXZ)
 [C:\Users\XX\Desktop\Tundra-VS2010\src\Application\ArchivePlugin\A
rchivePlugin.vcxproj]
  ZipWorker.obj : error LNK2001: unresolved external symbol _zzip_dir_open [C:\
Users\XX\Desktop\Tundra-VS2010\src\Application\ArchivePlugin\Archiv
ePlugin.vcxproj]
  ZipAssetBundle.obj : error LNK2019: unresolved external symbol _zzip_error re
ferenced in function "bool __cdecl CheckAndLogArchiveError(struct zzip_dir *)"
(?CheckAndLogArchiveError@@YA_NPAUzzip_dir@@@Z) [C:\Users\XX\Deskto
p\Tundra-VS2010\src\Application\ArchivePlugin\ArchivePlugin.vcxproj]
  ZipWorker.obj : error LNK2001: unresolved external symbol _zzip_error [C:\Use
rs\XX\Desktop\Tundra-VS2010\src\Application\ArchivePlugin\ArchivePl
ugin.vcxproj]
  ZipAssetBundle.obj : error LNK2019: unresolved external symbol _zzip_dir_clos
e referenced in function "private: void __thiscall ZipAssetBundle::Close(void)"
 (?Close@ZipAssetBundle@@AAEXXZ) [C:\Users\XX\Desktop\Tundra-VS2010
\src\Application\ArchivePlugin\ArchivePlugin.vcxproj]
  ZipWorker.obj : error LNK2001: unresolved external symbol _zzip_dir_close [C:
\Users\XX\Desktop\Tundra-VS2010\src\Application\ArchivePlugin\Archi
vePlugin.vcxproj]
  ZipWorker.obj : error LNK2019: unresolved external symbol _zzip_file_close re
ferenced in function "public: virtual void __thiscall ZipWorker::run(void)" (?r
un@ZipWorker@@UAEXXZ) [C:\Users\XX\Desktop\Tundra-VS2010\src\Applic
ation\ArchivePlugin\ArchivePlugin.vcxproj]
  ZipWorker.obj : error LNK2019: unresolved external symbol _zzip_read referenc
ed in function "public: virtual void __thiscall ZipWorker::run(void)" (?run@Zip
Worker@@UAEXXZ) [C:\Users\XX\Desktop\Tundra-VS2010\src\Application\
ArchivePlugin\ArchivePlugin.vcxproj]
  ZipWorker.obj : error LNK2019: unresolved external symbol _zzip_file_open ref
erenced in function "public: virtual void __thiscall ZipWorker::run(void)" (?ru
n@ZipWorker@@UAEXXZ) [C:\Users\XX\Desktop\Tundra-VS2010\src\Applica
tion\ArchivePlugin\ArchivePlugin.vcxproj]
  C:\Users\XX\Desktop\Tundra-VS2010\src\Application\ArchivePlugin\D
ebug\ArchivePlugind.dll : fatal error LNK1120: 7 unresolved externals [C:\Users
\XX\Desktop\Tundra-VS2010\src\Application\ArchivePlugin\ArchivePlug
in.vcxproj]


"C:\Users\XX\Desktop\Tundra-VS2010\tundra.sln" (default target) (1)
 ->
"C:\Users\XX\Desktop\Tundra-VS2010\ALL_BUILD.vcxproj.metaproj" (def
ault target) (2) ->
"C:\Users\XX\Desktop\Tundra-VS2010\src\Core\AssetModule\AssetModule
.vcxproj.metaproj" (default target) (10) ->
"C:\Users\XX\Desktop\Tundra-VS2010\src\Core\TundraProtocolModule\Tu
ndraProtocolModule.vcxproj.metaproj" (default target) (11) ->
"C:\Users\XX\Desktop\Tundra-VS2010\src\EntityComponents\EC_Highligh
t\EC_Highlight.vcxproj.metaproj" (default target) (12) ->
"C:\Users\XX\Desktop\Tundra-VS2010\src\Core\OgreRenderingModule\Ogr
eRenderingModule.vcxproj.metaproj" (default target) (13) ->
"C:\Users\XX\Desktop\Tundra-VS2010\src\Core\OgreRenderingModule\Ogr
eRenderingModule.vcxproj" (default target) (14) ->
  LINK : fatal error LNK1104: cannot open file 'RenderSystem_Direct3D9_d.lib' [
C:\Users\XX\Desktop\Tundra-VS2010\src\Core\OgreRenderingModule\Ogre
RenderingModule.vcxproj]


I can solve the second error by adding the library directory of 'deps-vs2010\ogre-safe-nocrashes\lib\Debug' to all projects. But I am not sure how to solve error LNK2019 properly. Can you give me some instructions?

Br

On Monday, January 28, 2013 6:31:03 PM UTC+2, JaakkoAllander wrote:

Ali Kämäräinen

unread,
Jan 30, 2013, 4:59:03 AM1/30/13
to realxt...@googlegroups.com
The first one is probably due to zzlib build failing. IIRC, it should built fine on VS2010, so try rebuilding it, but if it gives problem, just drop ArchivePlugin from the Tundra build for now. For the second problem I made a fix already, but apparently forgot to push it...

Chuck

unread,
Jan 30, 2013, 6:57:33 AM1/30/13
to realxt...@googlegroups.com
I still can't build zziplib. So I will drop it for now. Thank you!

Chuck

unread,
Jan 30, 2013, 9:40:13 AM1/30/13
to realxt...@googlegroups.com
Hi,

My Kinect plugin is also having numerous of linking errors with Qt, just like the OpenNI plugin. There are 253 of them, I don't think it is a good idea to paste them here. Most of the errors are like these:


  moc_KinectDevice.obj : error LNK2019: unresolved external symbol "__declspec(
dllimport) public: static void __cdecl QMetaObject::activate(class QObject *,st
ruct QMetaObject const *,int,void * *)" (__imp_?activate@QMetaObject@@SAXPAVQOb
ject@@PBU1@HPAPAX@Z) referenced in function "protected: void __thiscall KinectD
evice::VideoUpdate(class QImage)" (?VideoUpdate@KinectDevice@@IAEXVQImage@@@Z)
[C:\Users\XX\Desktop\Tundra-VS2010\src\Application\KinectModule\Kin
ectModule.vcxproj]
  moc_KinectModule.obj : error LNK2001: unresolved external symbol "__declspec(
dllimport) public: static void __cdecl QMetaObject::activate(class QObject *,st
ruct QMetaObject const *,int,void * *)" (__imp_?activate@QMetaObject@@SAXPAVQOb
ject@@PBU1@HPAPAX@Z) [C:\Users\XX\Desktop\Tundra-VS2010\src\Applica
tion\KinectModule\KinectModule.vcxproj]
  moc_KinectDevice.obj : error LNK2019: unresolved external symbol "__declspec(
dllimport) void __cdecl qt_assert(char const *,char const *,int)" (__imp_?qt_as
sert@@YAXPBD0H@Z) referenced in function "public: class QObjectData * __thiscal
l QScopedPointer<class QObjectData,struct QScopedPointerDeleter<class QObjectDa
ta> >::operator->(void)const " (??C?$QScopedPointer@VQObjectData@@U?$QScopedPoi
nterDeleter@VQObjectData@@@@@@QBEPAVQObjectData@@XZ) [C:\Users\yzhai.CSE-PC69\D
esktop\Tundra-VS2010\src\Application\KinectModule\KinectModule.vcxproj]
  moc_KinectModule.obj : error LNK2001: unresolved external symbol "__declspec(
dllimport) void __cdecl qt_assert(char const *,char const *,int)" (__imp_?qt_as
sert@@YAXPBD0H@Z) [C:\Users\XX\Desktop\Tundra-VS2010\src\Applicatio
n\KinectModule\KinectModule.vcxproj]

I had tried to deleted the root CMakeCache.txt and .vcxproj and .sln, then rebuild everything. But the errors remained. Do you have any ideas? Do you think it is because of my 64bit Win7 environment? Thank you so much for your precious time.

Br

On Wednesday, January 30, 2013 11:59:03 AM UTC+2, JaakkoAllander wrote:

Ali Kämäräinen

unread,
Jan 30, 2013, 10:30:27 AM1/30/13
to realxt...@googlegroups.com
KinectModule has been unmaintained for a year or so, so it was expected that it don't compile out of the box. Try adding link_package(QT4) to the KinectModule's CMakeLists.txt, that should do the trick.


Toni Alatalo

unread,
Jan 30, 2013, 10:51:13 AM1/30/13
to realxt...@googlegroups.com
On Wed, Jan 30, 2013 at 5:30 PM, Ali Kämäräinen <stink...@gmail.com> wrote:
compile out of the box. Try adding link_package(QT4) to the KinectModule's CMakeLists.txt, that should do the trick.

Oh, I don't have that in the build conf for OpenNI either, perhaps it's somehow required on Win whereas doesn't bork on Linux? (possibly due to qt being in the system?)

Chuck, do try that for the Kinect module of course, but if you can easily also test if the same addition helps with the OpenNI on Win as well it would be nice to know.

~Toni

Ali Kämäräinen

unread,
Jan 30, 2013, 6:40:27 PM1/30/13
to realxt...@googlegroups.com
zziplib build seems to fail indeed, confused it with zlib earlier. Will take a look of this tomorrow. For the time being, simply omit ArchivePlugin from the build for now.

Ali Kämäräinen

unread,
Jan 31, 2013, 6:32:07 AM1/31/13
to realxt...@googlegroups.com
Hi Chuck,
I've now fixed both problems: RenderSystem_Direct3D9_d.lib linking error and zziplib VS2010 build failing. But note that I've created a new branch "VS2010-clean" where these fixes are because I messed up the VS2010 branch by accidentally pushing my NoBoostVS2010 work there.

Grey skies,
Ali Kämäräinen

Chuck

unread,
Jan 31, 2013, 8:40:33 AM1/31/13
to realxt...@googlegroups.com
Thank you very much Ali. I will rebuild your now version later. I had tried your method to my Kinect plugin, the linking problems to Qt had gone. But some linking errors to Kinect SDK jumped up. It should be some version problem, I would try to figure it out later.

As to Antont, I have done the similar tricks to the OpenNI plugin, and finally everything debug successfully, and the OpenNIPlugind.dll is generated under bin/plugins folder. However, when I tried to run the OpenNI scene.txml, it said:

Error: ReferenceError: Can't find variable: openni
Error: <anonymous>()@local://opennihandler.js:11

Do you know how to fix this?

BRs

Ali Kämäräinen

unread,
Jan 31, 2013, 10:17:24 AM1/31/13
to realxt...@googlegroups.com
Hi, I just fixed VS2010 build for QtScritpGenerator so now pretty much all of Tundra capabilities should be at your disposable when building with VS2010.
Reply all
Reply to author
Forward
0 new messages