Sign in to follow this  
yoavi2

OpenGL creating exe file for opengl game

Recommended Posts

yoavi2    100
hi
i made a little game using opengl in c++ with visual basic 2008.
i want to create an exe file (maybe an installation) that somehow includes all the files needed to run opengl programs (dll's etc), so that people without the files on their computer could run the game without problems.
please help, thanks!

Share this post


Link to post
Share on other sites
yoavi2    100
i really have no clue in this, im sorry... all i have is a code in C++, which i had written in visual basic 2008, the code is accessing a simple txt file (for highscores).
i can get the exe file from the project's folder, but it won't work on computers who do no have the necessary files (you can find them here: http://www.xmission.com/~nate/glut.html).
my objective i to somehow make an installation package or a regular exe file so it would work on every computer... could you please help me?

Share this post


Link to post
Share on other sites
yoavi2    100
i did not ask for anyone to do it for me, dont be so negative.
i only seek help as i did not understand NSIS and i couldn't find some good basic instructions as to how to do such a task

Share this post


Link to post
Share on other sites
BitMaster    8651
The link Simon posted directly links to what appears to be rather extensive documentation for NSIS. So extensive that I do not believe you could have seriously tried to read it in the 14 minutes between the link and your reply. If you are unwilling to learn about an installer creator, may I suggest using self-extracting zips or something similar?

Share this post


Link to post
Share on other sites
V-man    813
All you have to give is your exe and GLUT.dll, if you are using GLUT.

Also, I recommend reading this short link
http://www.opengl.org/wiki/FAQ#How_Does_It_Work_On_Windows.3F

Share this post


Link to post
Share on other sites
yoavi2    100
hey, please, i do not want this to be unpleasant.. i downloaded nsis and briefly looked at the instructions, realizing i have no clue what they're saying...
i am just a student, i don't have knowledge in many languages... i hope you see that i am not lazy or something like that, please try to understand..
as for your comment, any solution is acceptable - as long it answers my need (making the game work on every computer)..
if it is not possible with zips and only an installer, could you please at least direct me to the section where they explain how to do such a thing on Simon's line? i really have no clue what to do, sorry...

Share this post


Link to post
Share on other sites
Yann L    1802
Come on guys, what has become of the newbee friendliness of GDNet ? The new site is already enough of a pain, we don't really need to go Slashdot in our replies on top of that.

The OP is obviously a beginner. NSIS might be a powerful tool (although I'm not a big fan), but directing a beginner to an application whose doc starts with [i]"To create a NSIS installer, you first have to write a NSIS script" [/i]is asking for trouble. Requiring him to learn how to write the equivalent of an installer makefile just to get such a simple task done is a bit overkill.

yoavi2, try [url="http://www.advancedinstaller.com/"]Advanced Installer[/url]. It's a very powerful tool, similar to NSIS, but with an extremely simple to use and straightforward interface. You can build your first MSI with only a few mouse clicks in their wizard. If this is still too complex, a simple self extracting ZIP will most probably do it, as BitMaster suggested.

Share this post


Link to post
Share on other sites
yoavi2    100
Yann, thanks for understanding and sorry for being a pain in the ass..
i downloaded the software and read of it a little, i still could not understand.. (seems like it is more for building an "official" installer)
i have an working exe of the game (from the project's folder) , yet to run properly it needs the glut files i mentioned above.
even with a self extracting zip (which i also dont know how to build but i assume it is not that hard), how can i direct the certain files to their proper folders in the windows libraries? (or is there another way?)
i mean, each computer has different folder names, and im guessing gaining access to the windows folder from an external file will cause problems as well.
sorry again if i seem stupid hehe, but i would really like to make this work.. thanks in advance!

Share this post


Link to post
Share on other sites
V-man    813
Your glut32.dll should go into the same folder as your EXE. It is recommended not to put DLL into the WIndows\System32 folder.

Share this post


Link to post
Share on other sites
yoavi2    100
i tried going by these instructions:
http://www.ferdychristant.com/blog//articles/DOMM-6XPRW9
i put the regular (debug) exe and the release exe in the same folder with glut32.dll and opengl32.dll. tried it on another computer - wont work.
after that i trued compiling again with the settings presented there:
"In the project properties Window, section C/C++ ->Code generation, set the "Runtime library" value to "Multi-threaded (/MT)" for the release configuration (upper left dropdown), and "Multi-threaded Debug (/MTd)" for the debug configuration."
and all of a sudden it wouldnt compile. the error:
1>cl : Command line error D8016 : '/MT' and '/clr' command-line options are incompatible


any thoughts?

Share this post


Link to post
Share on other sites
Yann L    1802
First, you should not distribute the debug executable. That's against Microsofts EULA.
Second, don't distribute opengl32.dll. That's a system DLL that comes with Windows.
Third, the problems you had are with the runtime libraries. You can solve that by static linking (as you tried), or by distributing the runtime with your game (several possibilities here). Your static linking doesn't work because you're compiling as managed code. Try removing the clr option.

Share this post


Link to post
Share on other sites
NicoG    172
If he uses .dlls like GLUT, he should not link statically. Not at all.
Instead, deliver the Microsoft Runtime Installer and link dynamically.
You said you have C++ Code in Visual Basic? That is not possible at all.
Assuming you use Visual C++ with SP1 2008 you need to give this installer with your program:
http://www.microsoft.com/Downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Similar Content

    • By pseudomarvin
      I assumed that if a shader is computationally expensive then the execution is just slower. But running the following GLSL FS instead just crashes
      void main() { float x = 0; float y = 0; int sum = 0; for (float x = 0; x < 10; x += 0.00005) { for (float y = 0; y < 10; y += 0.00005) { sum++; } } fragColor = vec4(1, 1, 1 , 1.0); } with unhandled exception in nvoglv32.dll. Are there any hard limits on the number of steps/time that a shader can take before it is shut down? I was thinking about implementing some time intensive computation in shaders where it would take on the order of seconds to compute a frame, is that possible? Thanks.
    • By Arulbabu Donbosco
      There are studios selling applications which is just copying any 3Dgraphic content and regenerating into another new window. especially for CAVE Virtual reality experience. so that the user opens REvite or CAD or any other 3D applications and opens a model. then when the user selects the rendered window the VR application copies the 3D model information from the OpenGL window. 
      I got the clue that the VR application replaces the windows opengl32.dll file. how this is possible ... how can we copy the 3d content from the current OpenGL window.
      anyone, please help me .. how to go further... to create an application like VR CAVE. 
       
      Thanks
    • By cebugdev
      hi all,

      i am trying to build an OpenGL 2D GUI system, (yeah yeah, i know i should not be re inventing the wheel, but this is for educational and some other purpose only),
      i have built GUI system before using 2D systems such as that of HTML/JS canvas, but in 2D system, i can directly match a mouse coordinates to the actual graphic coordinates with additional computation for screen size/ratio/scale ofcourse.
      now i want to port it to OpenGL, i know that to render a 2D object in OpenGL we specify coordiantes in Clip space or use the orthographic projection, now heres what i need help about.
      1. what is the right way of rendering the GUI? is it thru drawing in clip space or switching to ortho projection?
      2. from screen coordinates (top left is 0,0 nd bottom right is width height), how can i map the mouse coordinates to OpenGL 2D so that mouse events such as button click works? In consideration ofcourse to the current screen/size dimension.
      3. when let say if the screen size/dimension is different, how to handle this? in my previous javascript 2D engine using canvas, i just have my working coordinates and then just perform the bitblk or copying my working canvas to screen canvas and scale the mouse coordinates from there, in OpenGL how to work on a multiple screen sizes (more like an OpenGL ES question).
      lastly, if you guys know any books, resources, links or tutorials that handle or discuss this, i found one with marekknows opengl game engine website but its not free,
      Just let me know. Did not have any luck finding resource in google for writing our own OpenGL GUI framework.
      IF there are no any available online, just let me know, what things do i need to look into for OpenGL and i will study them one by one to make it work.
      thank you, and looking forward to positive replies.
    • By fllwr0491
      I have a few beginner questions about tesselation that I really have no clue.
      The opengl wiki doesn't seem to talk anything about the details.
       
      What is the relationship between TCS layout out and TES layout in?
      How does the tesselator know how control points are organized?
          e.g. If TES input requests triangles, but TCS can output N vertices.
             What happens in this case?
      In this article,
      http://www.informit.com/articles/article.aspx?p=2120983
      the isoline example TCS out=4, but TES in=isoline.
      And gl_TessCoord is only a single one.
      So which ones are the control points?
      How are tesselator building primitives?
    • By Orella
      I've been developing a 2D Engine using SFML + ImGui.
      Here you can see an image
      The editor is rendered using ImGui and the scene window is a sf::RenderTexture where I draw the GameObjects and then is converted to ImGui::Image to render it in the editor.
      Now I need to create a 3D Engine during this year in my Bachelor Degree but using SDL2 + ImGui and I want to recreate what I did with the 2D Engine. 
      I've managed to render the editor like I did in the 2D Engine using this example that comes with ImGui. 
      3D Editor preview
      But I don't know how to create an equivalent of sf::RenderTexture in SDL2, so I can draw the 3D scene there and convert it to ImGui::Image to show it in the editor.
      If you can provide code will be better. And if you want me to provide any specific code tell me.
      Thanks!
  • Popular Now