Qhimm.com Forums

Project forums => Q-Gears => Topic started by: Sebanisu on 2014-04-22 01:06:05

Title: Trying again :)
Post by: Sebanisu on 2014-04-22 01:06:05
I made some progress at the end of last week. I got a batch files setup for setting up and compiling Boost and Ogre.

I am re-downloading the q gears source.

I feel bad for not posting anything in a month. I kinda got busy and then 4 weeks passed by. I decided to post a new topic since my other one was so old.

Should I put the code for these batch files on the forum? They could be useful. Should I use pastebin or something?
Title: 0.bat
Post by: Sebanisu on 2014-04-22 16:44:56
Create a directory you want to have all this in.
0.bat
point me to prerequisites
Code: [Select]
@echo off
rem http://forums.qhimm.com/index.php?topic=15060.0
set home=%cd%
echo need prerecs

echo get DirectX SDK and install it...
echo - http://www.microsoft.com/en-us/download/details.aspx?id=6812
start http://www.microsoft.com/en-us/download/details.aspx?id=6812
echo - Visual C++ 2010 Redistributable Package or newer will conflict
echo   with it you will need to uninstall them and then reinstall them later
 

echo getting cmake for building ogre
echo - installer or zip, for this how to I go with the zip
echo - http://www.cmake.org/files/v2.8/cmake-2.8.11.2-win32-x86.zip
start http://www.cmake.org/files/v2.8/cmake-2.8.11.2-win32-x86.zip

echo get codeblocks
echo http://www.codeblocks.org/downloads
start http://www.codeblocks.org/downloads

echo unpack cmake and install codeblocks
echo - both to %home%
echo - results should look like this
echo   %home%\cmake-2.8.11.2-win32-x86\bin
echo   %home%\CodeBlocks

pause
http://pastebin.com/hJrZVgkD (http://pastebin.com/hJrZVgkD)
Title: 1.bat
Post by: Sebanisu on 2014-04-22 16:48:00
1.bat
Go get and compile boost
http://pastebin.com/HgFq2SHL (http://pastebin.com/HgFq2SHL)

edit: tried pasting the full thing on here too big. :P
Title: 2.bat
Post by: Sebanisu on 2014-04-22 17:05:53
2.bat
Go get ogre dependencies!
http://pastebin.com/3abGvFZi (http://pastebin.com/3abGvFZi)
Title: 3.bat
Post by: Sebanisu on 2014-04-22 17:07:25
3.bat
Get Ogre and compile!
http://pastebin.com/00LRck3i (http://pastebin.com/00LRck3i)
Title: 4.bat
Post by: Sebanisu on 2014-04-22 17:16:28
Though when I tried to compile using the existing code::blocks stuff. It couldn't find any prerequisites. Not lua or ogre or boost. I fiddled with it some, than just tried to compile with cmake! And, cmake worked.
4.bat
Get qgears and compile!
http://pastebin.com/K0NMD5bf (http://pastebin.com/K0NMD5bf)

I ran Q-Gears and got a 'choose your renderer' dialog from Ogre, and selected OpenGL and then started it. Black screen! I think that's a good thing.

I imagine it'd do more if it had the FF7 resources around.

edit: said the same thing twice in two different ways.
Title: Re: Trying again :)
Post by: zerotacg on 2014-04-23 04:58:36
try pressing f8 to get the menu
there is an initial script that is executed to do the key binding
q-gears/output/data/config.cfg
Title: Re: Trying again :)
Post by: sithlord48 on 2014-04-23 16:16:44
@ zero  why can't i link for linux?  what did u change about the boost requirements? anyidea when we can move some things around the repo? after that happens i can at least upload my debian folder and as soon as linking is fixed we will get dailys :D
Title: Re: Trying again :)
Post by: zerotacg on 2014-04-23 19:43:22
dunno what errors do you get?
we should have the same boost dependencies as the ogre version we require (1.8 if I remember correctly)
I haven't done anything in quite a while so ...
as for (re)moving unused stuff etc I was actually aiming for the point where could load necessary data from ff7 game dir so we could remove copyrighted materials and still have something to view
but feel free to shuffle around as you consider appropriate  in the end it's version control, nothing is lost
Title: Re: Trying again :)
Post by: sithlord48 on 2014-04-23 20:37:40
dunno what errors do you get?
we should have the same boost dependencies as the ogre version we require (1.8 if I remember correctly)
I haven't done anything in quite a while so ...
as for (re)moving unused stuff etc I was actually aiming for the point where could load necessary data from ff7 game dir so we could remove copyrighted materials and still have something to view
but feel free to shuffle around as you consider appropriate  in the end it's version control, nothing is lost

what ill do is check my errors when i get back to my machine it was all linking errors iirc. might even be on another thread., And make perhaps a folder reflecting how i would like to re structure. either on the sourceforge or maybe ill make a github account so i don't disturb the codebase. we'll be in touch .

Title: Re: Trying again :)
Post by: Sebanisu on 2014-04-24 00:49:13
I tried making a code::blocks project with cmake...
It will compile but you can't debug. Because it becomes kinda a front end for mingw32-make.

I think to use code::blocks. I'll need to make a new project file and readd everything manually. Probably starting with dependencies making sure it builds lua and such.

I'm not sure how easy it is to fix the existing code::blocks project from the repository. It just couldn't find anything out of the box. And I'm kinda a noob with code::blocks. :P

I feel tough if I don't have an ide setup I can't debug. Other than change the file and compile and see if it worked. :P

I could always use eclipse. I donno which is easier. I use eclipse for php and python scripting.

I use Notepad++ for editing batch files.
Title: Re: Trying again :)
Post by: sithlord48 on 2014-04-24 12:46:46
im not sure as i am only using CMake to build. i have never really been a big fan of code::blocks myself.  when i start seriously coding on Q-Gears i plan to use either  QTCreator or KDevelop for my ide.
Title: Re: Trying again :)
Post by: Sebanisu on 2014-04-24 16:31:19
Well Cmake is working great for building.

I think i got code::blocks working. (building now)


I'm on Windows. I think QTCreator and KDevelop aren't options for me. I ran Linux for a little bit, but I like playing games, and my computer is too slow to run most things with Wine.

If I ever get around to updating I might try to jump back in. My CPU is only 2.2ghz and my video card is only a Geforce 465 GTX. So some games barely run on windows. :)

edit: Oh QTCreator runs on windows. I'll install it and see what it is like.

edit2: it failed to compile then i seemed to make it worse trying to fix it :P
Title: Re: Trying again :)
Post by: Sebanisu on 2014-04-24 17:11:24
I had an idea. since cmake is working. I could use the cmakelists as a guide on what to include in the project. :P

edit: yay code::blocks compiled something.

I kept getting linker errors so I had to keep tweaking it till I got it to finish.

Though I think I am including more ogre and boost libraries than I needed. As I wasn't sure what was needed.
So I like added a bunch of stuff to the linker settings at-least with ogre.

Now I am recompiling in the proper folder location so now I can see if it'll run. Also to kinda make sure the first time wasn't a fluke. :P

edit2... I think something still off. I tried running it and nothing showed up. I'm compiling in debug mode hopefully something will tell me what is wrong :P
Title: Re: Trying again :)
Post by: Sebanisu on 2014-04-24 23:36:42
Okay it is working.

I thought Debugging wasn't working but it just happened to be going slow.

I gave up to quickly. I'm gonna probably be done for this week.
Title: Re: Trying again :)
Post by: sithlord48 on 2014-04-25 00:47:36
here is my linking error:  using libogre 1.8 and libboost 1.54 .

Code: [Select]
Linking CXX executable q-gears
cd /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/obj-x86_64-linux-gnu/QGearsMain && /usr/bin/cmake -E cmake_link_script CMakeFiles/q-gears.dir/link.txt --verbose=1
/usr/bin/g++   -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG  -Wl,-Bsymbolic-functions -Wl,-z,relro CMakeFiles/q-gears.dir/src/Main.cpp.o  -o q-gears -rdynamic libQGearsMain.a ../SupportedGames/FinalFantasy7/libFinalFantasy7.a libQGearsMain.a ../SupportedGames/FinalFantasy7/libFinalFantasy7.a ../dependencies/libLuaBind.a ../dependencies/libLua.a ../dependencies/libTinyXml.a -lOgreMain -lboost_thread -lboost_date_time -lboost_system -lboost_chrono -lpthread -lOIS
libQGearsMain.a(QGearsApplication.cpp.o): In function `path<char*>':
/usr/include/boost/filesystem/path.hpp:139: undefined reference to `boost::filesystem::path::codecvt()'
libQGearsMain.a(QGearsApplication.cpp.o): In function `QGears::Application::processCommandLine(int, char**)':
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/QGearsMain/src/common/QGearsApplication.cpp:148: undefined reference to `boost::filesystem::path::stem() const'
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/QGearsMain/src/common/QGearsApplication.cpp:160: undefined reference to `boost::program_options::options_description::m_default_line_length'
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/QGearsMain/src/common/QGearsApplication.cpp:160: undefined reference to `boost::program_options::options_description::options_description(std::string const&, unsigned int, unsigned int)'
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/QGearsMain/src/common/QGearsApplication.cpp:162: undefined reference to `boost::program_options::options_description::add_options()'
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/QGearsMain/src/common/QGearsApplication.cpp:162: undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, char const*)'
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/QGearsMain/src/common/QGearsApplication.cpp:166: undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, boost::program_options::value_semantic const*, char const*)'
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/QGearsMain/src/common/QGearsApplication.cpp:170: undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, boost::program_options::value_semantic const*, char const*)'
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/QGearsMain/src/common/QGearsApplication.cpp:174: undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, boost::program_options::value_semantic const*, char const*)'
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/QGearsMain/src/common/QGearsApplication.cpp:179: undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, boost::program_options::value_semantic const*, char const*)'
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/QGearsMain/src/common/QGearsApplication.cpp:180: undefined reference to `boost::program_options::variables_map::variables_map()'
libQGearsMain.a(QGearsApplication.cpp.o): In function `boost::program_options::basic_command_line_parser<char>::options(boost::program_options::options_description const&)':
/usr/include/boost/program_options/detail/parsers.hpp:51: undefined reference to `boost::program_options::detail::cmdline::set_options_description(boost::program_options::options_description const&)'
libQGearsMain.a(QGearsApplication.cpp.o): In function `QGears::Application::processCommandLine(int, char**)':
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/QGearsMain/src/common/QGearsApplication.cpp:181: undefined reference to `boost::program_options::store(boost::program_options::basic_parsed_options<char> const&, boost::program_options::variables_map&, bool)'
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/QGearsMain/src/common/QGearsApplication.cpp:185: undefined reference to `boost::program_options::operator<<(std::ostream&, boost::program_options::options_description const&)'
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/QGearsMain/src/common/QGearsApplication.cpp:189: undefined reference to `boost::program_options::notify(boost::program_options::variables_map&)'
libQGearsMain.a(QGearsApplication.cpp.o): In function `boost::program_options::variables_map::operator[](std::string const&) const':
/usr/include/boost/program_options/variables_map.hpp:155: undefined reference to `boost::program_options::abstract_variables_map::operator[](std::string const&) const'
/usr/include/boost/program_options/variables_map.hpp:155: undefined reference to `boost::program_options::abstract_variables_map::operator[](std::string const&) const'
/usr/include/boost/program_options/variables_map.hpp:155: undefined reference to `boost::program_options::abstract_variables_map::operator[](std::string const&) const'
/usr/include/boost/program_options/variables_map.hpp:155: undefined reference to `boost::program_options::abstract_variables_map::operator[](std::string const&) const'
libQGearsMain.a(QGearsApplication.cpp.o): In function `boost::program_options::typed_value<std::string, char>::xparse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&) const':
/usr/include/boost/program_options/detail/value_semantic.hpp:170: undefined reference to `boost::program_options::validate(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, std::string*, int)'
libQGearsMain.a(QGearsApplication.cpp.o): In function `boost::program_options::typed_value<std::string, char>::name() const':
/usr/include/boost/program_options/detail/value_semantic.hpp:19: undefined reference to `boost::program_options::arg'
libQGearsMain.a(QGearsApplication.cpp.o): In function `to_internal<std::basic_string<char> >':
/usr/include/boost/program_options/detail/convert.hpp:79: undefined reference to `boost::program_options::to_internal(std::string const&)'
libQGearsMain.a(QGearsApplication.cpp.o): In function `boost::program_options::basic_command_line_parser<char>::basic_command_line_parser(int, char const* const*)':
/usr/include/boost/program_options/detail/parsers.hpp:43: undefined reference to `boost::program_options::detail::cmdline::cmdline(std::vector<std::string, std::allocator<std::string> > const&)'
libQGearsMain.a(QGearsApplication.cpp.o): In function `boost::program_options::basic_command_line_parser<char>::run()':
/usr/include/boost/program_options/detail/parsers.hpp:107: undefined reference to `boost::program_options::detail::cmdline::get_canonical_option_prefix()'
/usr/include/boost/program_options/detail/parsers.hpp:108: undefined reference to `boost::program_options::detail::cmdline::run()'
libQGearsMain.a(QGearsApplication.cpp.o): In function `boost::program_options::variables_map::~variables_map()':
/usr/include/boost/program_options/variables_map.hpp:146: undefined reference to `vtable for boost::program_options::variables_map'
libQGearsMain.a(QGearsApplication.cpp.o): In function `~variables_map':
/usr/include/boost/program_options/variables_map.hpp:146: undefined reference to `vtable for boost::program_options::variables_map'
libQGearsMain.a(QGearsApplication.cpp.o):(.rodata._ZTIN5boost15program_options11typed_valueISscEE[_ZTIN5boost15program_options11typed_valueISscEE]+0x18): undefined reference to `typeinfo for boost::program_options::value_semantic_codecvt_helper<char>'
libQGearsMain.a(QGearsApplication.cpp.o):(.rodata._ZTVN5boost15program_options11typed_valueISscEE[_ZTVN5boost15program_options11typed_valueISscEE]+0x38): undefined reference to `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, bool) const'
collect2: error: ld returned 1 exit status
make[3]: *** [QGearsMain/q-gears] Error 1
make[3]: Leaving directory `/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/obj-x86_64-linux-gnu'
make[2]: *** [QGearsMain/CMakeFiles/q-gears.dir/all] Error 2
make[2]: Leaving directory `/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/obj-x86_64-linux-gnu'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/obj-x86_64-linux-gnu'
make: *** [debian/stamp-makefile-build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
debuild: fatal error at line 1364:
dpkg-buildpackage -rfakeroot -D -us -uc failed

here is what happens if i build with ogre 1.9 and libboost1.54 (aparently a dependency of ogre 1.9 and 1.8)
Code: [Select]
[ 31%] Building CXX object SupportedGames/FinalFantasy7/CMakeFiles/FinalFantasy7.dir/src/data/FF7ModelListFile.cpp.o
cd /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/obj-x86_64-linux-gnu/SupportedGames/FinalFantasy7 && /usr/bin/g++   -DBOOST_ALL_NO_LIB -DTIXML_USE_STL -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG -I/usr/include/ois -I/usr/include/OGRE -I/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/dependencies -I/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/QGearsMain/include -I/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include    -o CMakeFiles/FinalFantasy7.dir/src/data/FF7ModelListFile.cpp.o -c /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/src/data/FF7ModelListFile.cpp
In file included from /usr/include/OGRE/Threading/OgreThreadDefines.h:33:0,
                 from /usr/include/OGRE/Threading/OgreThreadHeaders.h:41,
                 from /usr/include/OGRE/OgreStringInterface.h:35,
                 from /usr/include/OGRE/OgreResource.h:34,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/QGearsMain/include/common/QGearsResource.h:30,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:22,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/src/data/FF7ModelListFile.cpp:17:
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h: In constructor ‘QGears::FF7::ModelListFilePtr::ModelListFilePtr(const ResourcePtr&)’:
/usr/include/OGRE/Threading/OgreThreadDefines.h:29:30: error: ‘const ResourcePtr’ has no member named ‘mutex’
 #define OGRE_AUTO_MUTEX_NAME mutex
                              ^
/usr/include/OGRE/Threading/OgreThreadDefinesBoost.h:34:115: note: in definition of macro ‘OGRE_LOCK_MUTEX’
 #define OGRE_LOCK_MUTEX(name) boost::recursive_mutex::scoped_lock OGRE_TOKEN_PASTE_EXTRA(ogrenameLock, __LINE__) (name)
                                                                                                                   ^
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:93:36: note: in expansion of macro ‘OGRE_AUTO_MUTEX_NAME’
                 OGRE_LOCK_MUTEX(*r.OGRE_AUTO_MUTEX_NAME)
                                    ^
In file included from /usr/include/boost/assert.hpp:50:0,
                 from /usr/include/boost/thread/pthread/shared_mutex.hpp:23,
                 from /usr/include/boost/thread/shared_mutex.hpp:22,
                 from /usr/include/boost/thread/detail/thread_group.hpp:9,
                 from /usr/include/boost/thread/thread.hpp:13,
                 from /usr/include/OGRE/Threading/OgreThreadHeadersBoost.h:49,
                 from /usr/include/OGRE/Threading/OgreThreadHeaders.h:34,
                 from /usr/include/OGRE/OgreStringInterface.h:35,
                 from /usr/include/OGRE/OgreResource.h:34,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/QGearsMain/include/common/QGearsResource.h:30,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:22,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/src/data/FF7ModelListFile.cpp:17:
/usr/include/OGRE/Threading/OgreThreadDefinesBoost.h:55:43: error: expected ‘,’ or ‘;’ before ‘(’ token
 #define OGRE_COPY_AUTO_SHARED_MUTEX(from) assert(!OGRE_AUTO_MUTEX_NAME); OGRE_AUTO_MUTEX_NAME = from
                                           ^
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:94:25: note: in expansion of macro ‘OGRE_COPY_AUTO_SHARED_MUTEX’
                         OGRE_COPY_AUTO_SHARED_MUTEX(r.OGRE_AUTO_MUTEX_NAME)
                         ^
In file included from /usr/include/OGRE/Threading/OgreThreadHeaders.h:41:0,
                 from /usr/include/OGRE/OgreStringInterface.h:35,
                 from /usr/include/OGRE/OgreResource.h:34,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/QGearsMain/include/common/QGearsResource.h:30,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:22,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/src/data/FF7ModelListFile.cpp:17:
/usr/include/OGRE/Threading/OgreThreadDefines.h:29:30: error: ‘mutex’ was not declared in this scope
 #define OGRE_AUTO_MUTEX_NAME mutex
                              ^
/usr/include/OGRE/Threading/OgreThreadDefinesBoost.h:55:74: note: in expansion of macro ‘OGRE_AUTO_MUTEX_NAME’
 #define OGRE_COPY_AUTO_SHARED_MUTEX(from) assert(!OGRE_AUTO_MUTEX_NAME); OGRE_AUTO_MUTEX_NAME = from
                                                                          ^
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:94:25: note: in expansion of macro ‘OGRE_COPY_AUTO_SHARED_MUTEX’
                         OGRE_COPY_AUTO_SHARED_MUTEX(r.OGRE_AUTO_MUTEX_NAME)
                         ^
/usr/include/OGRE/Threading/OgreThreadDefines.h:29:30: note: suggested alternative:
 #define OGRE_AUTO_MUTEX_NAME mutex
                              ^
/usr/include/OGRE/Threading/OgreThreadDefinesBoost.h:55:74: note: in expansion of macro ‘OGRE_AUTO_MUTEX_NAME’
 #define OGRE_COPY_AUTO_SHARED_MUTEX(from) assert(!OGRE_AUTO_MUTEX_NAME); OGRE_AUTO_MUTEX_NAME = from
                                                                          ^
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:94:25: note: in expansion of macro ‘OGRE_COPY_AUTO_SHARED_MUTEX’
                         OGRE_COPY_AUTO_SHARED_MUTEX(r.OGRE_AUTO_MUTEX_NAME)
                         ^
In file included from /usr/include/boost/thread/mutex.hpp:16:0,
                 from /usr/include/boost/thread/pthread/thread_data.hpp:13,
                 from /usr/include/boost/thread/pthread/condition_variable.hpp:12,
                 from /usr/include/boost/thread/condition_variable.hpp:16,
                 from /usr/include/boost/thread/condition.hpp:13,
                 from /usr/include/OGRE/Threading/OgreThreadHeadersBoost.h:48,
                 from /usr/include/OGRE/Threading/OgreThreadHeaders.h:34,
                 from /usr/include/OGRE/OgreStringInterface.h:35,
                 from /usr/include/OGRE/OgreResource.h:34,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/QGearsMain/include/common/QGearsResource.h:30,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:22,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/src/data/FF7ModelListFile.cpp:17:
/usr/include/boost/thread/pthread/mutex.hpp:91:11: note:   ‘boost::mutex’
     class mutex
           ^
In file included from /usr/include/OGRE/Threading/OgreThreadDefines.h:33:0,
                 from /usr/include/OGRE/Threading/OgreThreadHeaders.h:41,
                 from /usr/include/OGRE/OgreStringInterface.h:35,
                 from /usr/include/OGRE/OgreResource.h:34,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/QGearsMain/include/common/QGearsResource.h:30,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:22,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/src/data/FF7ModelListFile.cpp:17:
/usr/include/OGRE/Threading/OgreThreadDefines.h:29:30: error: ‘const ResourcePtr’ has no member named ‘mutex’
 #define OGRE_AUTO_MUTEX_NAME mutex
                              ^
/usr/include/OGRE/Threading/OgreThreadDefinesBoost.h:55:97: note: in definition of macro ‘OGRE_COPY_AUTO_SHARED_MUTEX’
 #define OGRE_COPY_AUTO_SHARED_MUTEX(from) assert(!OGRE_AUTO_MUTEX_NAME); OGRE_AUTO_MUTEX_NAME = from
                                                                                                 ^
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:94:55: note: in expansion of macro ‘OGRE_AUTO_MUTEX_NAME’
                         OGRE_COPY_AUTO_SHARED_MUTEX(r.OGRE_AUTO_MUTEX_NAME)
                                                       ^
In file included from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/src/data/FF7ModelListFile.cpp:17:0:
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:95:25: error: expected ‘;’ before ‘pRep’
                         pRep = static_cast<ModelListFile*>(r.getPointer());
                         ^
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:96:17: error: ‘pUseCount’ was not declared in this scope
                 pUseCount = r.useCountPointer();
                 ^
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:96:31: error: ‘const ResourcePtr’ has no member named ‘useCountPointer’
                 pUseCount = r.useCountPointer();
                               ^
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:97:17: error: ‘useFreeMethod’ was not declared in this scope
                 useFreeMethod = r.freeMethod();
                 ^
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:97:35: error: ‘const ResourcePtr’ has no member named ‘freeMethod’
                 useFreeMethod = r.freeMethod();
                                   ^
In file included from /usr/include/OGRE/Threading/OgreThreadDefines.h:33:0,
                 from /usr/include/OGRE/Threading/OgreThreadHeaders.h:41,
                 from /usr/include/OGRE/OgreStringInterface.h:35,
                 from /usr/include/OGRE/OgreResource.h:34,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/QGearsMain/include/common/QGearsResource.h:30,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:22,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/src/data/FF7ModelListFile.cpp:17:
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h: In member function ‘QGears::FF7::ModelListFilePtr& QGears::FF7::ModelListFilePtr::operator=(const ResourcePtr&)’:
/usr/include/OGRE/Threading/OgreThreadDefines.h:29:30: error: ‘const ResourcePtr’ has no member named ‘mutex’
 #define OGRE_AUTO_MUTEX_NAME mutex
                              ^
/usr/include/OGRE/Threading/OgreThreadDefinesBoost.h:34:115: note: in definition of macro ‘OGRE_LOCK_MUTEX’
 #define OGRE_LOCK_MUTEX(name) boost::recursive_mutex::scoped_lock OGRE_TOKEN_PASTE_EXTRA(ogrenameLock, __LINE__) (name)
                                                                                                                   ^
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:113:36: note: in expansion of macro ‘OGRE_AUTO_MUTEX_NAME’
                 OGRE_LOCK_MUTEX(*r.OGRE_AUTO_MUTEX_NAME)
                                    ^
In file included from /usr/include/boost/assert.hpp:50:0,
                 from /usr/include/boost/thread/pthread/shared_mutex.hpp:23,
                 from /usr/include/boost/thread/shared_mutex.hpp:22,
                 from /usr/include/boost/thread/detail/thread_group.hpp:9,
                 from /usr/include/boost/thread/thread.hpp:13,
                 from /usr/include/OGRE/Threading/OgreThreadHeadersBoost.h:49,
                 from /usr/include/OGRE/Threading/OgreThreadHeaders.h:34,
                 from /usr/include/OGRE/OgreStringInterface.h:35,
                 from /usr/include/OGRE/OgreResource.h:34,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/QGearsMain/include/common/QGearsResource.h:30,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:22,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/src/data/FF7ModelListFile.cpp:17:
/usr/include/OGRE/Threading/OgreThreadDefinesBoost.h:55:43: error: expected ‘,’ or ‘;’ before ‘(’ token
 #define OGRE_COPY_AUTO_SHARED_MUTEX(from) assert(!OGRE_AUTO_MUTEX_NAME); OGRE_AUTO_MUTEX_NAME = from
                                           ^
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:114:25: note: in expansion of macro ‘OGRE_COPY_AUTO_SHARED_MUTEX’
                         OGRE_COPY_AUTO_SHARED_MUTEX(r.OGRE_AUTO_MUTEX_NAME)
                         ^
In file included from /usr/include/OGRE/Threading/OgreThreadHeaders.h:41:0,
                 from /usr/include/OGRE/OgreStringInterface.h:35,
                 from /usr/include/OGRE/OgreResource.h:34,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/QGearsMain/include/common/QGearsResource.h:30,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:22,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/src/data/FF7ModelListFile.cpp:17:
/usr/include/OGRE/Threading/OgreThreadDefines.h:29:30: error: ‘mutex’ was not declared in this scope
 #define OGRE_AUTO_MUTEX_NAME mutex
                              ^
/usr/include/OGRE/Threading/OgreThreadDefinesBoost.h:55:74: note: in expansion of macro ‘OGRE_AUTO_MUTEX_NAME’
 #define OGRE_COPY_AUTO_SHARED_MUTEX(from) assert(!OGRE_AUTO_MUTEX_NAME); OGRE_AUTO_MUTEX_NAME = from
                                                                          ^
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:114:25: note: in expansion of macro ‘OGRE_COPY_AUTO_SHARED_MUTEX’
                         OGRE_COPY_AUTO_SHARED_MUTEX(r.OGRE_AUTO_MUTEX_NAME)
                         ^
/usr/include/OGRE/Threading/OgreThreadDefines.h:29:30: note: suggested alternative:
 #define OGRE_AUTO_MUTEX_NAME mutex
                              ^
/usr/include/OGRE/Threading/OgreThreadDefinesBoost.h:55:74: note: in expansion of macro ‘OGRE_AUTO_MUTEX_NAME’
 #define OGRE_COPY_AUTO_SHARED_MUTEX(from) assert(!OGRE_AUTO_MUTEX_NAME); OGRE_AUTO_MUTEX_NAME = from
                                                                          ^
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:114:25: note: in expansion of macro ‘OGRE_COPY_AUTO_SHARED_MUTEX’
                         OGRE_COPY_AUTO_SHARED_MUTEX(r.OGRE_AUTO_MUTEX_NAME)
                         ^
In file included from /usr/include/boost/thread/mutex.hpp:16:0,
                 from /usr/include/boost/thread/pthread/thread_data.hpp:13,
                 from /usr/include/boost/thread/pthread/condition_variable.hpp:12,
                 from /usr/include/boost/thread/condition_variable.hpp:16,
                 from /usr/include/boost/thread/condition.hpp:13,
                 from /usr/include/OGRE/Threading/OgreThreadHeadersBoost.h:48,
                 from /usr/include/OGRE/Threading/OgreThreadHeaders.h:34,
                 from /usr/include/OGRE/OgreStringInterface.h:35,
                 from /usr/include/OGRE/OgreResource.h:34,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/QGearsMain/include/common/QGearsResource.h:30,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:22,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/src/data/FF7ModelListFile.cpp:17:
/usr/include/boost/thread/pthread/mutex.hpp:91:11: note:   ‘boost::mutex’
     class mutex
           ^
In file included from /usr/include/OGRE/Threading/OgreThreadDefines.h:33:0,
                 from /usr/include/OGRE/Threading/OgreThreadHeaders.h:41,
                 from /usr/include/OGRE/OgreStringInterface.h:35,
                 from /usr/include/OGRE/OgreResource.h:34,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/QGearsMain/include/common/QGearsResource.h:30,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:22,
                 from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/src/data/FF7ModelListFile.cpp:17:
/usr/include/OGRE/Threading/OgreThreadDefines.h:29:30: error: ‘const ResourcePtr’ has no member named ‘mutex’
 #define OGRE_AUTO_MUTEX_NAME mutex
                              ^
/usr/include/OGRE/Threading/OgreThreadDefinesBoost.h:55:97: note: in definition of macro ‘OGRE_COPY_AUTO_SHARED_MUTEX’
 #define OGRE_COPY_AUTO_SHARED_MUTEX(from) assert(!OGRE_AUTO_MUTEX_NAME); OGRE_AUTO_MUTEX_NAME = from
                                                                                                 ^
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:114:55: note: in expansion of macro ‘OGRE_AUTO_MUTEX_NAME’
                         OGRE_COPY_AUTO_SHARED_MUTEX(r.OGRE_AUTO_MUTEX_NAME)
                                                       ^
In file included from /home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/src/data/FF7ModelListFile.cpp:17:0:
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:115:25: error: expected ‘;’ before ‘pRep’
                         pRep = static_cast<ModelListFile*>(r.getPointer());
                         ^
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:116:17: error: ‘pUseCount’ was not declared in this scope
                 pUseCount = r.useCountPointer();
                 ^
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:116:31: error: ‘const ResourcePtr’ has no member named ‘useCountPointer’
                 pUseCount = r.useCountPointer();
                               ^
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:117:17: error: ‘useFreeMethod’ was not declared in this scope
                 useFreeMethod = r.freeMethod();
                 ^
/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/SupportedGames/FinalFantasy7/include/data/FF7ModelListFile.h:117:35: error: ‘const ResourcePtr’ has no member named ‘freeMethod’
                 useFreeMethod = r.freeMethod();
                                   ^
make[3]: *** [SupportedGames/FinalFantasy7/CMakeFiles/FinalFantasy7.dir/src/data/FF7ModelListFile.cpp.o] Error 1
make[3]: Leaving directory `/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/obj-x86_64-linux-gnu'
make[2]: *** [SupportedGames/FinalFantasy7/CMakeFiles/FinalFantasy7.dir/all] Error 2
make[2]: Leaving directory `/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/obj-x86_64-linux-gnu'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/chris/Documents/Projects/Code/Q-Gears/q-gears_0.21/obj-x86_64-linux-gnu'
make: *** [debian/stamp-makefile-build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
debuild: fatal error at line 1364:
dpkg-buildpackage -rfakeroot -D -us -uc failed
Title: Re: Trying again :)
Post by: zerotacg on 2014-04-27 14:18:18
I'm working with QtCreator but since we use cmake you can create project files for lot's of ides and it should work
to get debug version change build type to debug and it should work quite well

as fore the linking errors I'll try and check them later on
Title: Re: Trying again :)
Post by: Sebanisu on 2014-04-28 02:23:12
One thing I noticed, before I called it a night Thursday, is that the one I built in cmake made a blackscreen. The one I built with code::blocks won't stay full screen. So I think I might be linking the wrong version of the libraries or something. *not sure what else it could be yet*
I picked the libs for boost mt-s.a for release and the mt-sd.a for debug. But I don't know if that is right yet.
And for Ogre I kinda picked all the libs accept the direct3d one. So I might be linking something that isn't even being used. :P

sithlord:
libboost_program_options
libboost_filesystem
I think you aren't linking those library files. I had to add them on mine.
I got a similar error and found files that had program_options and filesystem, in the filename, in the boost lib folder and added them to the linkers.

About the mutex errors I think that is caused from ogre u built not having threading enabled. My best guess.

zerotacg:
The problem with cmake when it create's code::block projects just add shortcuts to the mingw32-make instead of using the built in features of code::blocks. So you click build in code::blocks it runs mingw32-make with the pre-setup directions from cmake. From my google searches it seems projects made this way won't let you debug. Maybe I'm wrong though. I did try to force debugging on with cmake but it didn't help. Code::blocks errored and said it couldn't debug this.

It's been a couple days of working so I hope I'm not misremembering anything.
Title: Re: Trying again :)
Post by: sithlord48 on 2014-04-28 15:33:06
@ sebanisu.
         your are correct i was missing libboost-program-options-dev (the package for the code) and libboost-filesystem-dev


i do not build ogre the builds are the builds on the ubuntu/debian repos.

now the package builds (or will after i add a COPYING.txt file. to the trunk)
Title: Re: Trying again :)
Post by: Sebanisu on 2014-04-28 17:27:19
i do not build ogre the builds are the builds on the ubuntu/debian repos.

I misunderstood. I misread the part, where you were testing with ogre 1.9 and ogre 1.8, as compiling ogre for some reason. :P
Title: Re: Trying again :)
Post by: sithlord48 on 2014-04-28 19:45:59
i have mostly fixed the package building and have to update a few files.

currently im unable to start q-gears as i get an error then it dies

Quote
[ERROR] /home/chris/q-gears_0.21/QGearsMain/src/core/DebugDraw.cpp 58: Could not find font "CourierNew" for debug draw.

aparently i don't have CourierNew font (i do have it althought on my system its Courier New)

reading up on this seams we need a fontdef for all fonts ? . since the files and the font will need including in the project perhaps a free font is good for this (freemono,free sans come to mind) . Any suggestions let me know ill try them.
Title: Re: Trying again :)
Post by: Sebanisu on 2014-04-28 23:19:39
I'm kinda scratching my head to why I'm getting this glitch
(http://i57.tinypic.com/1icsw1.png)

the screen is being drawn in the top left corner. I think I'll try disabling my dual monitor setup and see if that fixes it.

But I'm pretty sure when I just built with cmake and mingw it didn't do this.

sithlord:

Any free font should do for that debug text. I'm unsure how font's are handled I spent a few mins skimming over the documentation.
You could add another few lines of code after the thing and maybe make it try another font. I'm not entirely sure how fonts are handled though I only skimmed over the documentation

before:
Code: [Select]
    m_Font = Ogre::FontManager::getSingleton().getByName( "CourierNew" );
    if( m_Font.isNull() )
    {
        LOG_ERROR( "Could not find font \"CourierNew\" for debug draw." );
    }
after:
Code: [Select]
    m_Font = Ogre::FontManager::getSingleton().getByName( "CourierNew" );
    if( m_Font.isNull() )
    {
//        LOG_ERROR( "Could not find font \"CourierNew\" for debug draw." );
          m_Font = Ogre::FontManager::getSingleton().getByName( "thisotherfont" );
          if( m_Font.isNull() ) {
                 LOG_ERROR( "Could not find font \"CourierNew\" or this other font for debug draw." );
          }
    }
Title: Re: Trying again :)
Post by: sithlord48 on 2014-04-28 23:25:26
accually it seams tha the data location in the resouces.cfg is messed up ..
something changes when using the --resources-file switch


Edit: completely wrong about switches not working...
Title: Re: Trying again :)
Post by: Sebanisu on 2014-04-28 23:28:23
Oh disabling multi monitor fixed my issue.
Title: Re: Trying again :)
Post by: Sebanisu on 2014-04-28 23:31:12
--deleted--- misunderstood so I said something that was wrong.
Title: Re: Trying again :)
Post by: sithlord48 on 2014-04-28 23:36:59
the whole point of the switches is so that i can set resource path for linux (/usr/share/q-gears/data) is the data folder /usr/share/q-gears/ contains the .cfg files. im going to try with out the switches. once those are working the package will install a working copy (always a plus lol)
Title: Re: Trying again :)
Post by: Sebanisu on 2014-04-29 00:37:16
I tweaked the code to run qgears in a window.

Now i can run in multi monitor. I'm not sure why it wasn't workin.
Title: Re: Trying again :)
Post by: Sebanisu on 2014-04-29 01:23:01
hmm Now that I got something working that I can fiddle with. I wonder what goal I should have. What thing I should try to work on?

Should I start a new thread and let this thread end?
Title: Re: Trying again :)
Post by: zerotacg on 2014-04-29 06:15:40
qgears should run in windowed mode all by it self, not sure maybe I changed it to respect the ogre config window, you could try to reverse your changes delete the ogre.cfg (maybe qgears.cfg) to get the config window again and just disable fullscreen in the ogre config dialog

as for what todo
only thing that comes to my mind would be to try and run qgears on some of the original ff7 files, check out the unit tests maybe, I left the resource paths etc in the code and I'll try to be available on irc, I'm on gmt+2 though
maybe we should try and get a ticketing system :D
source forge most likely has one the project owner would just need to enable it :)

the command line switches should actually work, I use the program-options package from boost for that, so maybe just the right version is needed, maybe you could come up with a unit-test for them?
Title: Re: Trying again :)
Post by: Sebanisu on 2014-04-29 15:00:09
Which irc server and channel you guys use?

I'm not sure what to do for unit tests. Since I haven't wrote any of this, I'm not sure how it all works. I spent some of last night trying to follow along. Maybe I should run in debug mode and step. hmm
Title: Re: Trying again :)
Post by: sithlord48 on 2014-04-29 18:26:49
qhimm.com on esper.net
Title: Re: Trying again :)
Post by: zerotacg on 2014-04-29 19:23:18
I meant merely running the unit tests there is a build target for the tests if u enabled them in the cmake config and there is an executable for every test after building to run them separately