vs2010里常规开发设置_VS2010内核开发环境配置
本人出现的问题做下记录,如果不能帮助到各位请不要怪我。
配置管理器新建x64
调试报错
1>c:\program files\microsoft visual studio 9.0\vc\atlmfc\include\afx.h(24) : fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
属性页(右键点击Hello工程名最下面选项)->配置属性->常规->项目默认值->MFC的使用里选择在共享DLL中使用MFC。
重新编译后出现如下错误:fatal error LNK1561: 必须定义入口点,
属性页->配置属性->链接器->高级->入口点写入程序入口点WinMainCRTStartup。
应用程序真正的入口点是WinMainCRTStartup
这是VC库文件中的函数,由它来初始化全局变量并调用WinMain,WinMain中调用CMyApp::InitInstance。
首先你要装好催化剂显卡驱动。
下载AMP APP SDK安装包,比如64的就叫AMD-APP-SDK-v2.4-Windows-64.exe,安装AMD APP SDK,如图0。 安装完之后重新启动。
首先知道一下安装的位置,我这里按默认装在了 C:\Program Files (x86)\AMD APP\ ,如图1。
图1
系统安装的时候系统已经设置了一个环境变量AMDAPPSDKROOT来指示安装的位置,可以在cmd里查看,如图2。
图2
系统也已经把可执行路径加到了PATH里,这样就可以找到OpenCL的运行库。如图3。
图3
打开一个已有的OpenCL项目,或者新建一个项目。 如果新建项目,点击文件->新建,建立一个空项目。加入一个自己写的HellowCL之类的源码,如果没有,我这里写了一个初始化的小源码,诸位可以自行下载添加,结果如图6。OpenclConfig.cpp
图6
因为安装包已经在系统的PATH路径里加入了动态链接库的路径,所以就没有必要再在VS里添加了,我们需要做的就是添加需要的包含
目录和库目录,为了同时兼容32位和64位系统,需要对32位系统和64位系统差异对待。如果你只考虑单个平台下的配置,那么只需要
以下内容中相应平台的配置即可。
由于默认的环境是Win32,我们在这里添加一个x64的平台支持,前提是你安装了64位的编译器,如果你不需要64位,那么往下看即可
。 1. 左侧项目名右键->属性 2. 看到属性页窗口之后,点击右上方的配置管理器, 3. 在配置管理器中下拉,选择<新建> 4. 在键入或选择新平台中下拉,选择x64,确定 以上过程如图7。
图7
一、通用配置,32位和64位都得有的,打开项目属性页: (1)左上角配置选所有配置,平台选所有平台 (2)C/C++->常规->附加包含目录 添加$(AMDAPPSDKROOT)include,如图8。 图8 (3)链接器->输入,附加依赖项里加入OpenCL.lib
二、32位独有的配置,项目属性页中: (1)左上角配置选所有配置,平台选Win32 (2)链接器->常规 附加库目录,加入$(AMDAPPSDKROOT)lib\x86,如图9。 图9
三、64位独有的配置,项目属性页中: (1)左上角配置选所有配置,平台选x64 (2)链接器->常规 附加库目录,加入$(AMDAPPSDKROOT)lib\x86_64,如图10。 图10
以上配置完成之后即可编译运行,在上面给出的代码中,如果看到图11,说明编译运行成功。 图11
如果32位和64位的都配置好了,可以在工具栏里选择Debug/Release,Win32/x64的任意组合进行编译。
望大家Coding愉快!
此条目由?
intijk?发表在?
HPC?分类目录,并贴了?
64位、
AMD、
opencl、
vs2010、
x64、
配置?标签。将
固定链接加入收藏夹。
《VS2010 AMD OPENCL 开发环境配置, 32位+64位》上有 2 条评
vs2010 代码
#include
#include
#include
#define CL_VERBOSE
void openclRetTackle(cl_int retValue, char* processInfo){
if(retValue!=CL_SUCCESS){
#if (defined CL_DEBUG) || (defined CL_VERBOSE)
printf("%s Error!\n",processInfo);
#endif
exit(-1);
}else{
#ifdef CL_VERBOSE
printf("%s Success!\n",processInfo);
#endif
}
}
cl_platform_id cpPlatform;
cl_device_id cdDevice;
cl_context cxGPUContext;
cl_command_queue cqCommandQueue;
int openclInit()
{
cl_int ret;
//?????ID
openclRetTackle( clGetPlatformIDs(1, &cpPlatform, NULL), "clGetPlatFormIDs");
//???GPU?豸ID
openclRetTackle( clGetDeviceIDs(cpPlatform, CL_DEVICE_TYPE_GPU,1,&cdDevice,NULL), "clGetDeviceIDs");
//???GPU?豸??????
cxGPUContext = clCreateContext(0, 1, &cdDevice, NULL, NULL, &ret);
openclRetTackle( ret , "clCreateContext" );
//????????????
cqCommandQueue = clCreateCommandQueue(cxGPUContext, cdDevice, 0, &ret);
openclRetTackle( ret , "clCreateCommandQueue");
return CL_SUCCESS;
}
int main()
{
openclInit();
system("pause");
return 0;
} vs2012代码
HelloWorld
本人偷懒就用fixstar的代码了,建立项目,新建c或者cpp文件,粘贴下列代码进去:
[cpp]?
view plain
copy
?
#include?
新建文件,后缀改成.cl,粘贴下列代码进去:
[cpp]?
view plain
copy
?
__kernel?void?hello(__global?char*?string)?? {?? ????string[0]?=?'H';?? ????string[1]?=?'e';?? ????string[2]?=?'l';?? ????string[3]?=?'l';?? ????string[4]?=?'o';?? ????string[5]?=?',';?? ????string[6]?=?'?';?? ????string[7]?=?'W';?? ????string[8]?=?'o';?? ????string[9]?=?'r';?? ????string[10]?=?'l';?? ????string[11]?=?'d';?? ????string[12]?=?'!';?? ????string[13]?=?'\0';?? }??
编译执行文件。
假设你的项目叫做yourproj
把下面的配置文件粘贴到,项目所在目录/yourproj/yourproj/xxx.vcxproj文件中 里面,就可以了。
然后,右键项目,“生成”,驱动就会在 项目所在目录/yourproj/driver 文件夹里。
//
//分割线
//
//
?
? ?
? ? ?
? ? ?
? ?
? ?
? ? ?
? ? ?
? ?
? ?
? ? ?
? ? ?
? ?
?
?
? ?
? ?
?
?
?
? ?
? ?
? ?
?
?
? ?
? ?
? ?
? ?
?
?
?
?
?
? ?
?
?
? ?
?
?
?
? ?
?
?
? ?
?
?
? ?
? ?
? ?
? ?
?
?
? ?
? ? ?
? ? ?
? ?
? ?
? ? ?
? ?
?
?
? ?
? ? ?
? ? ?
? ? ?
? ? ?
? ?
? ?
? ? ?
? ? ?
? ? ?
? ?
?
?
? ?
? ? ?
? ?
?
?
? ?
? ? ?
? ?
?
?
? ?
? ? ?
? ? ?
? ? ?
? ? ?
? ? ?
? ? ?
? ?
? ?
? ? ?
? ?
? ?
? ? ?
? ? ?
? ? ?
? ? ?
? ? ?
? ? ?
? ? ?
? ? ?
? ? ?
? ? ?
? ? ?
? ? ?
? ? ?
? ? ?
? ? ?
? ? ?
? ?
?
?
? ??
?
?
?
?
相关文章
- 10-06 央视起诉PPTV侵权,获赔400万元
- 10-06 快手宣布与央视合作,除夕夜八点,快手观看了央视春节
- 10-06 京东云技术支持央视元宵晚会云之旅红包互动
- 10-06 网易3:0击败腾讯,夺得首届互联网邀请赛“小TI”
- 10-06 电竞新年带动行业复苏《街头篮球》2023线下赛事点
- 10-06 奇安新天晴EDR通过Sakoda威胁检测能力测试:
- 10-06 stm32 spi从机中断(stm32 spi从机
- 10-06 如何触发stm32外部中断(stm32外部中断触发
- 10-06 esp32 刻录失败(esp32 刻录失败)
- 10-06 stm32内置adc和外置adc的区别(stm32
- 10-06 vs2010莫名其妙无响应_调试时VS2010没有
- 10-06 RS232串口卡住(串口卡住)
- 10-06 2022年中国调味品行业发展趋势:健康概念成为消费
- 10-06 2022-2023年中国调味品行业:市场规模与消费
- 10-06 2022年中国调味品行业趋势:疫情推动行业分销渠道
- 10-06 对标大厂,微服务网关应该这样设计!
- 10-06 对标大厂,微服务网关应该这样设计!
- 10-06 摆脱恼人的 NullPointerExceptio
- 10-06 2.7k star,最强大的开源支付系统,马上就可
- 10-06 2.7k star,最强大的开源支付系统,马上就可
- 最近发表