CodeBlocks怎么链接多线程运行时库

CodeBlocks怎么链接多线程运行时库,第1张

项目属性 多线程 dll 和 多线程 的区别

区别是动态链接还是静态链接C运行时库(C runtime Library, CRT)。

如果是动态链接(MD/MDd),你的程序就依赖C运行时的动态链接库(比如VS2010的msvr100.dll),当你的程序在其他没有这个dll的电脑上运行就会出现错误(找不到这个dll)。

如果是静态链接(MT/MTD),C运行库直接链接到你的程序里,你的程序就不依赖C运行时库的dll了。

①找到codeblocks安装目录下的MinGW文件夹(我的是这样子的:“E:\program

files\CodeBlocks\MinGW”)

这个目录下有include文件夹,打开它。在sdl包里面有一个include\SDL文件夹,把这个文件夹拖到你的电脑里面的include文件夹里。

②找到codeblocks安装目录下的MinGW文件夹(我的是这样子的:“E:\program

files\CodeBlocks\MinGW”)

这个目录下有lib文件夹,打开它。在sdl包里面有一个lib文件夹,把这个里面的三个文件“libSDL.dll.a,

libSDL.la和libSDLmain.a”拖到你电脑里的lib文件夹里面。

③把sdl包里面bin文件夹里面的SDL.dll文件拖到“C:\WINDOWS\system32”(我用的是XP系统)。当然,另外一个选择是将SDL.dll随时绑定到使用了SDL库编译的*.exe文件所在的文件夹中。这通常在发布你的程序的时候使用。

这样的话,基本的SDL就算是配置好了,可以用来写程序咯~!

用codeblocks新建一个空项目,在这个项目里面新建一个c++(我目前学的就是C++,java、C#什么的不感兴趣)文件。敲入下面的代码:

#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

}

在左侧的Management窗口中,在项目上右击鼠标,选择构建选项,在横向目录里面选择“连接器设置”,添加“mingw32SDLmainSDL”(直接把双引号里面的内容复制进去就好),点击确定。发现添加了三行的连接库(这就对了),然后再此点击确定。

最后编译,运行。无误可以构建成功,虽然没有任何窗口生成,但是说明SDL配置和代码是没有问题的~!

在生成的debug文件夹下,生成了一个stdcout的txt文档。这个文档里面记录了程序的运行结果。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11720949.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存