Sra*_*vyn 2 c++ dll intel-mkl visual-studio-2012
我正在尝试将我的VS2012/MKL代码分发到一台单独的计算机上.在那台计算机上,我找不到vcomp.dll.据我所知,通过使用vcomp.dll,应用程序使用MS OpenMP而不是libiomp.
我试图绕过这种对MS OpenMP的依赖并在论坛中搜索我做了以下更改:
每次更改仍会加载vcomp110.dll:尝试在测试计算机上运行时出错,并且dev计算机上的加载输出列出了vcomp110.dll.我是否缺少额外的步骤来强迫VS使用libiomp而不是vcomp?
我无法提供可重现的代码来附加.
谢谢
小智 5
使用Visual Studio*中的英特尔OpenMP*库
使用运行Windows操作系统的系统时,可以在Visual C++ Visual Studio 2005开发环境中进行某些更改,以允许您使用英特尔C++编译器和Visual C++创建使用英特尔OpenMP库的应用程序.
注意:
Microsoft Visual C++必须定义符号_OPENMP_NOFORCE_MANIFEST,否则它将包含vcomp90 dll的清单.虽然这可能不会导致构建系统出现问题,但是当应用程序移动到没有安装此DLL的另一个系统时,它会导致问题.
设置项目属性页以指示英特尔OpenMP运行时库位置:
Run Code Online (Sandbox Code Playgroud)Open the project's property pages in from the main menu: Project > Properties (or right click the Project name and select Properties) . Select Configuration Properties > Linker > General > Additional Library Directories Enter the path to the Intel compiler libraries. For example, for an IA-32 architecture system, enter: <Intel_compiler_installation_path>\IA32\LIB
在运行时访问英特尔OpenMP动态运行时库; 您必须指定相应的路径:
Run Code Online (Sandbox Code Playgroud)Open the project's property pages in from the main menu: Project > Properties (or right click the Project name and select Properties). Select Configuration Properties > Debugging > Environment Enter the path to the Intel compiler libraries. For example, for an IA-32 architecture system, enter:
PATH =%PATH%;\IA32 \宾
将Intel OpenMP运行时库名称添加到链接器选项,并排除默认的Microsoft OpenMP运行时库:
Run Code Online (Sandbox Code Playgroud)Open the project's property pages in from the main menu: Project > Properties (or right click the Project name and select Properties). Select Configuration Properties > Linker > Command Line > Additional Options Enter the OpenMP library name and the Visual C++ linker option, /nodefaultlib.
我猜你缺少的是需要定义_OPENMP_NOFORCE_MANIFEST.
归档时间: |
|
查看次数: |
552 次 |
最近记录: |