errors while building solution

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • errors while building solution

      So I just tried to get Teapot Wars running, but I get a bunch of errors I dont understand. I know how to code in C++, but I am a newbie regarding Visual Studio ;) (I use VS 2012). List with errors: pastebin.com/iy5RD7x0
      Some advice how to fix these would be appreciated :)
      “I am so clever that sometimes I don't understand a single word of what I am saying.” -- Oscar Wilde
    • This issue has to do with attempting to link a library built in Visual Studio 2010 (msvc compiler set 1600) and Visual Studio 2012 (msvc compiler set 1700).

      Looks like it is all Bullet Physics stuff, which is really easy to build with CMake, so you are in luck. Build the libraries for VS2012 and that should fix everything, there may even be a pre-build VS2012 3rd-Party library set hanging around the website here.
      PC - Custom Built
      CPU: 3rd Gen. Intel i7 3770 3.4Ghz
      GPU: ATI Radeon HD 7959 3GB
      RAM: 16GB

      Laptop - Alienware M17x
      CPU: 3rd Gen. Intel i7 - Ivy Bridge
      GPU: NVIDIA GeForce GTX 660M - 2GB GDDR5
      RAM: 8GB Dual Channel DDR3 @ 1600mhz
    • I guess I need help again... ;) following this tutorial (bulletphysics.org/mediawiki-1.…ng_a_project_from_scratch ), I tried to compile bullet for VS 2012. After realizing that Visual Studio 11 on the dropdown-list of cmake generators meant the generator for VS 2012 (goo.gl/KRroKe, *facepalm* ), I tried to generate, but cmake doesnt build any *.lib-files. I never used CMake before and am very confused because of all those options, I guess I'm just missing one ^^
      “I am so clever that sometimes I don't understand a single word of what I am saying.” -- Oscar Wilde
    • CMake does not actually do the 'making' for you, instead it generates a project or makefile for you on the selected platform. Essentially on a platform on Linux it is as easy as saying

      Source Code

      1. //Make the build directory
      2. mkdir build
      3. //Change to the build directory
      4. cd build
      5. //Make the project files from the CMakeLists.txt in the previous directory, this will produce make files
      6. cmake ..
      7. //Build the make files
      8. make
      Display All


      On Windows the default however is not make files, but instead, visual studio project files, although maybe without VS it won't do this by default, so you would need to load the project and build it that way, HOWEVER. When building a 3rd party library like bullet, you don't usually need the project files, but just want some libs and headers! You can use NMake, which comes with VS and is really nice to use however you will need to run in the visual studio native command prompt which is in 'Program Files -> Microsoft Visual Studio 2012 -> Visual Studio Tools -> Open VS2012 Native Tools Command Prompt' (there will be an x86 in there to or maybe an x64 if you have that).

      With that open, navigate to where you have extracted the Bullet source archive in your native tools command prompt you opened and run this

      Source Code

      1. mkdir build
      2. cd build
      3. cmake ..
      4. nmake


      At this point you should see the magic happening, I am unsure as to whether the -j options is available (if you are familiar with make) which will allow you to run a multithreaded build ie. 'nmake -j8'. This should produce for you some .lib files, although depending on the library they are usually placed in different locations. Many users of CMake will also add some 'package' and 'install' targets which all you to make a nice nifty pack of your newly built lib files (and their headers), a quick google search may reveal that bullet does this (or even just look in the generated makefile).

      Hope this helps.
      PC - Custom Built
      CPU: 3rd Gen. Intel i7 3770 3.4Ghz
      GPU: ATI Radeon HD 7959 3GB
      RAM: 16GB

      Laptop - Alienware M17x
      CPU: 3rd Gen. Intel i7 - Ivy Bridge
      GPU: NVIDIA GeForce GTX 660M - 2GB GDDR5
      RAM: 8GB Dual Channel DDR3 @ 1600mhz

      The post was edited 1 time, last by mholley519 ().

    • Ok I tried to follow your instructions, but when writing nmake, it tells me "MAKEFILE not found and no target specified".. and there really is no file called makefile in the directory... I think cmake needs another option to generate a makefile? Or am I mistaken? The output of the cmake command is here: pastebin.com/dinizdge

      Edit: It generates a file called makefile in bullet-2.81-rev2613\Extras\CDTestFramework\AntTweakBar\src, and a lot of Makefile.am files in some other directories
      “I am so clever that sometimes I don't understand a single word of what I am saying.” -- Oscar Wilde

      The post was edited 1 time, last by P20707YP3 ().

    • oh I'm sorry, the command is actually

      Source Code

      1. cmake -G "NMake Makefiles" ..


      If you type 'cmake' without any additional parameters, you will see a large list of generators.
      PC - Custom Built
      CPU: 3rd Gen. Intel i7 3770 3.4Ghz
      GPU: ATI Radeon HD 7959 3GB
      RAM: 16GB

      Laptop - Alienware M17x
      CPU: 3rd Gen. Intel i7 - Ivy Bridge
      GPU: NVIDIA GeForce GTX 660M - 2GB GDDR5
      RAM: 8GB Dual Channel DDR3 @ 1600mhz

      The post was edited 1 time, last by mholley519 ().

    • Seems like a Direct3D11 function, might need to link against the D3D11 libraries.
      PC - Custom Built
      CPU: 3rd Gen. Intel i7 3770 3.4Ghz
      GPU: ATI Radeon HD 7959 3GB
      RAM: 16GB

      Laptop - Alienware M17x
      CPU: 3rd Gen. Intel i7 - Ivy Bridge
      GPU: NVIDIA GeForce GTX 660M - 2GB GDDR5
      RAM: 8GB Dual Channel DDR3 @ 1600mhz
    • No problem, have fun
      PC - Custom Built
      CPU: 3rd Gen. Intel i7 3770 3.4Ghz
      GPU: ATI Radeon HD 7959 3GB
      RAM: 16GB

      Laptop - Alienware M17x
      CPU: 3rd Gen. Intel i7 - Ivy Bridge
      GPU: NVIDIA GeForce GTX 660M - 2GB GDDR5
      RAM: 8GB Dual Channel DDR3 @ 1600mhz
    • Originally posted by mholley519
      Seems like a Direct3D11 function, might need to link against the D3D11 libraries.


      This is probably a silly question with an answer that I already know by a different name, but what exactly does it mean to "link against" a library?

      The post was edited 1 time, last by jmhgny ().

    • It simply means that you are linking your application (exe) to a pre-built library (.lib, .dll, .so). This essentially lets you easily connect to a 3rd party software library which has functionality you wish to bring to your program (Physics, Audio, Graphics, etc).
      PC - Custom Built
      CPU: 3rd Gen. Intel i7 3770 3.4Ghz
      GPU: ATI Radeon HD 7959 3GB
      RAM: 16GB

      Laptop - Alienware M17x
      CPU: 3rd Gen. Intel i7 - Ivy Bridge
      GPU: NVIDIA GeForce GTX 660M - 2GB GDDR5
      RAM: 8GB Dual Channel DDR3 @ 1600mhz
    • Slightly different question regarding the solution. How 3d dependency libraries are linked into the exec? I can't find neither pragmas nor project properties which link all the *.lib files which are used by the game. Is there any other way to include lib dependencies other than #pragma comment or Linker options in the project?
      Looking for a job!
      My LinkedIn Profile
    • As far as I know there are only a few ways in visual studio

      - Add directly to the linker input
      - Use a pragma comment
      - Add directly to the librarian of another library
      - Load a dll at run time

      Did you look in the librarian settings for the GCC engine? This is something I generally avoid doing personally because it isn't consistent with other compilers, visual studio however will keep track of any dependant libraries and automatically link them wherever the top level library is linked.
      PC - Custom Built
      CPU: 3rd Gen. Intel i7 3770 3.4Ghz
      GPU: ATI Radeon HD 7959 3GB
      RAM: 16GB

      Laptop - Alienware M17x
      CPU: 3rd Gen. Intel i7 - Ivy Bridge
      GPU: NVIDIA GeForce GTX 660M - 2GB GDDR5
      RAM: 8GB Dual Channel DDR3 @ 1600mhz
    • Originally posted by mholley519
      As far as I know there are only a few ways in visual studio

      - Add directly to the linker input
      - Use a pragma comment
      - Add directly to the librarian of another library
      - Load a dll at run time

      Did you look in the librarian settings for the GCC engine? This is something I generally avoid doing personally because it isn't consistent with other compilers, visual studio however will keep track of any dependant libraries and automatically link them wherever the top level library is linked.


      I've checked engine and game projects many times, I can't find any options which reference 3d party libs. GCC librarian only has 'Additonal Library Directories' set but doesn't mention actual libraries. And game linker options only has gamecode4 lib input (and some windows libs). I'm little bit lost.

      Edit: nvm, found pragmas in GameCode4.cpp, don't know why search haven't shown me this file.
      Looking for a job!
      My LinkedIn Profile

      The post was edited 1 time, last by devast3d ().