VS2010加载clutter动态连接库DLL
来源:互联网 发布:有锁版越狱能解网络锁 编辑:程序博客网 时间:2024/05/06 07:59
一,环境:
Windows XP,Microsoft Visual Studio 2010
二,所需文件(clutter-1.4.2):
1, clutter动态连接库(libclutter.dll)和由此库生成的lib库;
2, clutter头文件;
3, 依赖库头文件及lib库(glib、cairo、pango、atk、GL等);
三,新建一Win32 Console Application工程
工程名:clutter_test
工程路径:E:\Vs2010project
四,配置project properties
将lib文件夹拷贝到工程路径下;
Projectàclutter_test Properties pageàConfiguration PropertiesàC/C++àGeneralà Additional Include Directories,在后面输入相关头文件的路径(E:\Vs2010project\lib\include; E:\Vs2010project\lib\include \cairo;……),使用分号间隔将所需头文件路径加入;(有时加载的不是DLL,而是Lib库时,可以直接在……àLinkeràInputàAdditional Dependencies里输入相关的Lib文件),如:E:\Vs2010project\lib\lib\glib-2.0.lib;E:\Vs2010project\lib\lib\atk-1.0.lib;E:\Vs2010project\lib\lib\cairo.lib;E:\Vs2010project\lib\lib\fontconfig.lib;E:\Vs2010project\lib\lib\freetype.lib;E:\Vs2010project\lib\lib\gio-2.0.lib;E:\Vs2010project\lib\lib\gmodule-2.0.lib;E:\Vs2010project\lib\lib\intl.lib;E:\Vs2010project\lib\lib\libpng.lib;E:\Vs2010project\lib\lib\pangocairo-1.0.lib;E:\Vs2010project\lib\lib\pangoft2-1.0.lib;E:\Vs2010project\lib\lib\pangowin32-1.0.lib;E:\Vs2010project\lib\lib\gthread-2.0.lib;E:\Vs2010project\lib\lib\gtk-win32-2.0.lib;E:\Vs2010project\lib\lib\gobject-2.0.lib;E:\Vs2010project\lib\lib\libclutter.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);
将dll库中的dll文件拷贝到windows\system32目录下,生成的执行文件才可执行,也可修改环境变量到dll库文件所在目录(我的电脑→属性→高级—>环境变量-àpath)。
五,代码(以下是直接在代码中动态加载dll文件,如有lib文件,省去)
1,在代码前加头文件#include <clutter.h>
2,加载动态连接库libclutter.dll:
HINSTANCE hDLL; //定义DLL文件句柄
hDLL=LoadLibrary(L"libclutter.dll"); //加载.dll,记得引号前要加L
3, 加载成功后,对于库里的函数需重新读取函数地址才能正常使用,例如使用
clutter_texture_new_from_file(),需进行如下操作方能使用:
typedef ClutterActor* (WINAPIV *CLUTTER_TEXTURE_NEW_FROM_FILE)(char*, char*);
CLUTTER_TEXTURE_NEW_FROM_FILE clutter_texture_new_from_file;
clutter_texture_new_from_file=(CLUTTER_TEXTURE_NEW_FROM_FILE)GetProcAddress(hDLLDrv, "clutter_texture_new_from_file");
actor_image=clutter_texture_new_from_file("Eris1.png", NULL);
对于数据类型和类,均可正常使用,如:
ClutterActor *actor_image;
ClutterStage *stage;
ClutterContainer *Container=(ClutterContainer *)stage;
如果出现类似clutter-test.obj : error LNK2001: unresolved external symbol的错误,可能就是由于没有重新定义导致的。
- VS2010加载clutter动态连接库DLL
- VS2010 生成DLL和动态加载DLL
- 动态库dll加载
- .DLL 动态连接库
- DLL动态连接库
- 动态连接库dll
- DLL(动态连接库)
- VS2010 加载Dll文件
- vs2010 创建动态链接库DLL
- VS2010调试dll动态链接库
- vs2008动态加载dll库
- 动态库dll加载方式
- Qt 加载动态库DLL
- 创建DLL动态连接库
- 动态连接库(DLL)
- 创建DLL动态连接库
- 动态连接库 DLL 解释
- 动态库DLL加载方式-静态加载和动态加载
- 《数学之美》总结
- java 查找文件,并批量替换文件内容
- VC实现波形不闪烁动态绘图
- 2012.10.10
- 2012.10.11
- VS2010加载clutter动态连接库DLL
- 用栈实现的自动走迷宫
- DSP错误解决及经验分享
- paip.WEB乱码的解决流程
- iphone 自动引用计数(ARC)
- Calling Java Methods
- windows下的clutter编译
- QT 中Graphics View柜架
- 十条不错的编程观点