随笔 - 96  文章 - 255  trackbacks - 0
<2008年4月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

E-mail:zbln426@163.com QQ:85132383 长期寻找对战略游戏感兴趣的合作伙伴。

常用链接

留言簿(21)

随笔分类

随笔档案

SDL相关网站

我的个人网页

我的小游戏

资源下载

搜索

  •  

积分与排名

  • 积分 - 488873
  • 排名 - 37

最新评论

阅读排行榜

评论排行榜

作者:龙飞

2.1:获得Visual C++ 2008 Express Edition。


        使用盗版不是一个好习惯。与其背上贼名,我更愿意放弃华丽的外表,使用朴实无华的免费软件。你可能知道Linux和GNU,但是也许你还不知道$M也提供一些“免费的午餐”。Visual Studio 的Edition版本就是这样的一种便当。作为商业公司的一种商业手段,免费的VC也具有一些吸引人的地方,比如漂亮的界面,与Windows完美的集成,没有宽度的文本编辑(主要是跟Vim作比较),以及自动提醒的类成员(即所谓Visual)等。你可以在官方免费获得VC 2008 Express。
http://www.microsoft.com/express/download/

2.2:获得VC下的SDL开发库。(Development Libraries)

        你可以在SDL的官方主页找到下载。
http://www.libsdl.org/download-1.2.php
        目前的VC版本,你会发现……找不到VC9的版本。无所谓了,SDL-devel-1.2.13-VC8.zip (Visual C++ 2005 Service Pack 1)可以正常使用的。

2.3:为VC设置SDL库。

        解压缩SDL-devel-1.2.13-VC8.zip,docs里面包含了官方文档,这将是你学习SDL的主要参考资料。找到你在硬盘上安装VC的位置,类似:
C:\Program Files\Microsoft Visual Studio 9.0\VC
打开include文件夹,在里面建立一个新文件夹,取名为SDL,打开这个新的文件夹:
C:\Program Files\Microsoft Visual Studio 9.0\VC\include\SDL
然后,将SDL Development Libraries中include文件夹里面的文件全部拷贝到刚才建立起来的那个新文件夹中。
然后,回到VC的.\VC文件夹下,打开lib文件夹:
C:\Program Files\Microsoft Visual Studio 9.0\VC\lib
将SDL Development Libraries中lib文件夹下的SDL.lib和SDLmain.lib两个文件拷贝到刚才的那个VC的lib文件夹下。
最后,把SDL Development Libraries中lib文件夹下的SDL.dll文件拷贝到
C:\WINDOWS\system32
下。当然,另外一个选择是将SDL.dll随时绑定到使用了SDL库编译的*.exe文件所在的文件夹中。这通常在发布你的程序的时候使用。

2.4:建立VC下使用SDL库的工程。

1) 启动Microsoft Visual C++ 2008 Express Edition;
2) File -- New -- Project
3) Project types: Visual C++: Win32 (默认的)
    Templates: Visual Studio installed templates: Win32 Console Application
    Name: <Enter_name> (为你的工程起个名字)
4) Win32 Application Wizard -- Application Settings
    Application type: Console application
    Additional options: Empty project
5) 现在添加一个C++源文件。右击Source Files,Add -- New Items...
    选择Categories为Visual C++的Code;
    Templates为Visual Studio installed templates的C++ File(.cpp);
    为源文件起个名字。
6) 设置Project。Project -- project_name Properties...(Alt+F7)
    Configuration Properties -- C/C++ -- Code Generation -- Runtime Library:
    修改为:Multi-threaded DLL (/MD)
    Configuration Properties -- Linker -- Input -- Additional Dependencies:
    添加:SDL.lib SDLmain.lib
    Configuration Properties -- Linker -- System -- SubSystem
    如果是Debug版本,建议不改变原先的Console (/SUBSYSTEM:CONSOLE),
    因为调试信息可以出现在console的窗口里面。
    Release可以修改为Windows (/SUBSYSTEM:WINDOWS)

2.5:第一个使用SDL的C++程序。

        将下面代码输入到刚才建立的cpp文件中:
#include <iostream>
#include 
"SDL/SDL.h"

int main(int argc, char* argv[])
{
    
try {
        
if ( SDL_Init(SDL_INIT_EVERYTHING) == -1 )
            
throw "Could not initialize SDL!";
    }
    
catch ( const char* s )
    {
        std::cerr 
<< s << std::endl;
        
return -1;
    }
    std::cout 
<< "SDL initialized.\n";
    SDL_Quit();

    
return 0;
}
        Build -- Build Solution
        Debug -- Start Without Debugging
        你就可以看到你的第一个SDL程序的运行情况了。
posted on 2008-01-31 17:19 lf426 阅读(18394) 评论(7)  编辑 收藏 引用 所属分类: SDL入门教程

FeedBack:
# re: SDL入门教程(一):2、Visual C++ 下的安装与设置 2008-04-12 20:33 zhulinli
编译有错,这是怎么了?
--------------------Configuration: testSDL - Win32 Debug--------------------
Linking...
SDLmain.lib(SDL_win32_main.obj) : warning LNK4044: unrecognized option "manifestdependency:type='win32' name='Microsoft.VC80.CRT' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b'"; ignored
SDLmain.lib(SDL_win32_main.obj) : error LNK2001: unresolved external symbol __imp____iob_func
SDLmain.lib(SDL_win32_main.obj) : error LNK2001: unresolved external symbol ___security_cookie
SDLmain.lib(SDL_win32_main.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
SDLmain.lib(SDL_win32_main.obj) : error LNK2001: unresolved external symbol __alloca_probe_16
Debug/testSDL.exe : fatal error LNK1120: 4 unresolved externals
Error executing link.exe.

testSDL.exe - 5 error(s), 1 warning(s)
  回复  更多评论
  
# re: SDL入门教程(一):2、Visual C++ 下的安装与设置[未登录] 2008-04-15 13:21 lf426
VC2005必须打SP1补丁。  回复  更多评论
  
# re: SDL入门教程(一):2、Visual C++ 下的安装与设置 2010-06-12 23:51 abc881858
---------------------------
Microsoft (R) Visual C++ (R)
---------------------------
Note: The terms of the End User License Agreement for Visual C++ Introductory Edition do not permit redistribution of executables you create with this Product.
---------------------------
确定
---------------------------

VC6下编译运行 弹出这个框是什么意思?
然后DOS框显示SDL initialized.
  回复  更多评论
  
# re: SDL入门教程(一):2、Visual C++ 下的安装与设置[未登录] 2010-06-13 02:45 lf426
意思是盗版得不彻底:P  回复  更多评论
  
# re: SDL入门教程(一):2、Visual C++ 下的安装与设置 2010-06-14 14:16 abc881858
@lf426

呵呵 O(∩_∩)O谢谢!

我想起来了,本来用的windows游戏编程大师附赠的光盘里的VC,似乎有安装限制,上次ghost后估计不认识了。  回复  更多评论
  
# re: SDL入门教程(一):2、Visual C++ 下的安装与设置 2012-07-14 11:08 g
为什么不用开源的code::block  回复  更多评论
  
# re: SDL入门教程(一):2、Visual C++ 下的安装与设置 2012-09-07 15:18 yuchen
您好:
我编译的时候出现在这个问题,是什么原因,我用的是vs2003
SDLmain.lib(SDL_win32_main.obj) : error LNK2019: 无法解析的外部符号 __alloca_probe_16 ,该符号在函数 _main 中被引用
Debug/ffmpegtest.exe : fatal error LNK1120: 1 个无法解析的外部命令  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理