如何使用g ++编译和链接库(SDL)以便我有一个独立的程序?

时间:2012-11-01 07:19:32

标签: c++ compilation sdl

我在Windows 7上使用MinGW。

简单地说,我想创建一个Hello World SDL程序(启动一个窗口或简单的东西),并编译它,以便我有一个独立的程序,我可以分发,而不是说,用户必须安装额外的东西(如将SDL.dll放在Windows文件夹中。

  • 我已经下载了目前的SDL开发库 坐在c:\SDL
  • 在我的项目文件夹中,我有test.cppSDL.dll

我不太确定下一步该做什么;我一开始以为我能够包含SDL,然后只需在命令行中链接到DLL,瞧,但也许我需要先用我的程序编译SDL开发库?我的唯一目标是将我的SDL程序包含在一个文件夹中,我可以将其分发到其他Windows平台而不需要额外安装任何东西 - 或者他们肯定需要在Windows文件夹中安装SDL.dll吗?

编辑:进一步澄清 - 有人可以描述我要采取的步骤吗?我的意思是,开发人员想要分发他的应用程序会做什么?当安装这样的应用程序时,大多数游戏安装程序是否实际将.dll文件放在Windows文件夹中?

来源(test.cpp):

#include <SDL/SDL.h>
#include <iostream>
using namespace std;

int main ()
{
  cout << "Hello World!";
  return 0;
}

文件夹:

test.cpp SDL.dll

命令行:

g++ test.cpp -lSDL

输出:

test.cpp:2:17: fatal error: SDL.h: No such file or directory compilation terminated

1 个答案:

答案 0 :(得分:2)

  

包括SDL,然后只需链接到命令行中的DLL并瞧

是的,差不多就是这样。

  

但也许看起来我需要先用我的程序编译SDL开发库?

什么?除非您正在为嵌入式系统开发,否则没有单独的“开发”库。您链接到程序启动时将加载的同一个DLL。