“英特尔OpenCL SDK for FPGA编译内核以使用aoc命令进行仿真”给出链接器错误
我正在尝试编译一个内核,以便在Intel FPGA SDK中使用aoc进行仿真,我已经尽可能地设置了所有环境变量,即使使用SDK中包含的“英特尔OpenCL SDK for FPGA编译内核以使用aoc命令进行仿真”给出链接器错误,opencl,fpga,intel-fpga,Opencl,Fpga,Intel Fpga,我正在尝试编译一个内核,以便在Intel FPGA SDK中使用aoc进行仿真,我已经尽可能地设置了所有环境变量,即使使用SDK中包含的init_opencl.bat。 为了使用visual studio链接器,我正在使用visual studio 2017 developers命令promt运行以下行: aoc -march=emulator -v -board=a10gx my_kernel.cl -o my_kernel.aocx 但是它总是抛出一个链接器错误(错误是西班牙语的,很抱歉)
init_opencl.bat
。
为了使用visual studio链接器,我正在使用visual studio 2017 developers命令promt运行以下行:
aoc -march=emulator -v -board=a10gx my_kernel.cl -o my_kernel.aocx
但是它总是抛出一个链接器错误(错误是西班牙语的,很抱歉)
Creando biblioteca libkernel.lib y objeto libkernel.exp
libkernel.obj:错误LNK2019:símbolo externo
__imp_uuutranslate_usampler_u初始化器sin resolver al que se hace referencea en la functión my_ukernel
libkernel.obj:错误LNK2019:símbolo externo floorf sin解析器al
你是否需要对acl的副本进行功能参考
libkernel.obj:错误LNK2019:símbolo外部无接收器,位于解析器al中
你是否需要对acl的副本进行功能参考
libkernel.obj:错误LNK2019:símbolo外部日志2 sin解析器al
这是一个关于公民权利和公民权利的参考文件
libkernel.obj:错误LNK2019:símbolo externo exp2 sin resolver al
这是一个关于公民权利和公民权利的参考文件
链接:错误LNK2001:símbolo externo_dlmaincrtstartup sin解析器
C:\Program Files(x86)\Microsoft Visual
Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x86\msvcrt.lib:
警告LNK4272:el tipo de máquina de biblioteca'x86'estáen
“x64”目的地的冲突
C:\Program Files(x86)\Microsoft Visual
Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x86\legacy\u stdio\u definitions.lib
:警告LNK4272:el tipo de máquina de biblioteca'x86'estáen
“x64”目的地的冲突
libkernel.dll:致命错误LNK1120:6外部解析程序
我不知道还能做什么
注:
内核使用image2d对象,我不完全确定这些对象是否与FPGA兼容。实际上,这是另一个问题。问题很可能是他们(Altera,现在的Intel)仍然需要在Windows上使用MSVC 2010来成功地将其库与主机项目链接 至少在哪里有这样的要求是这样的 因此,您可能有两种选择:
更新
我检查了我的笔记。为了能够使用VS 2015成功链接Altera库,我还额外链接了
legacy\u stdio\u definitions.lib
。这应该进入链接器部分的AdditionalDependencies
。无法保证这也会对您的案例有所帮助,但值得一试。问题很可能是他们(Altera,现在是Intel)仍然需要在Windows上使用MSVC 2010来成功地将其库链接到主机项目
至少在哪里有这样的要求是这样的
因此,您可能有两种选择:
更新
我检查了我的笔记。为了能够使用VS 2015成功链接Altera库,我还额外链接了
legacy\u stdio\u definitions.lib
。这应该进入链接器部分的AdditionalDependencies
。我不能保证这对您的案例也有帮助,但值得一试。首先感谢doqtor的回答…最后我终于能够编译而不需要做太多更改…实际上,如果您从Visual Studio Developers命令提示符x64运行aoc脱机编译器,大多数问题都会得到解决
我决定干净地重新安装整个Intel FPGA SDK,这次正确地设置了每个环境变量……一切都很顺利……我能够编译和执行SDK示例
但有一个问题无法解决…我的内核使用image2d_t对象,当然还有sampler_t…结果根据《英特尔SDK编程指南》…在使用OpenCL 1.0时,SDK不支持图像和采样器
奇怪的是,FPGA模拟器平台确实支持它,所以我能够使用模拟器进行编译……虽然这对我来说解决不了多少问题……我决定改变我的内核,并找到一种替代映像和采样器的方法
感谢首先感谢doqtor的回答…最后我终于能够编译而不需要做太多更改…实际上,如果您从Visual Studio Developers命令提示符x64运行aoc脱机编译器,大多数问题都会得到解决 我决定干净地重新安装整个Intel FPGA SDK,这次正确地设置了每个环境变量……一切都很顺利……我能够编译和执行SDK示例 但有一个问题无法解决…我的内核使用image2d_t对象,当然还有sampler_t…结果根据《英特尔SDK编程指南》…在使用OpenCL 1.0时,SDK不支持图像和采样器 奇怪的是,FPGA模拟器平台确实支持它,所以我能够使用模拟器进行编译……虽然这对我来说解决不了多少问题……我决定改变我的内核,并找到一种替代映像和采样器的方法
谢谢回答您的问题:
回答您的问题: