尽管 INCLUDE 文件正确,但 MKL DFT 未解析的外部符号

MKL DFT Unresolved External Symbol despite proper INCLUDE file

我正在尝试使用 MKL 离散傅里叶变换函数,我在 Microsoft Visual Studio 上安装了 Intel Parallel Studio XE,我已经使用这个设置很长一段时间了,现在没有问题。我经常使用 MKL VSL 库来生成并行数,它们工作得很好。我只是通过 运行 basic_dp_real_dft_3d.f90 代码来测试它,该代码在 mkl/examples/examples_core_f/ 下我的 mkl 文件夹中提供。我只是将此代码复制到一个新的 Visual Studio 项目(Fortran 控制台应用程序,就像我通常那样)并在开头添加

include `mkl_dfti.f90`

我已验证此文件确实存在于 mkl/include/ 文件夹中,当我编译代码时,模块文件实际上已编译并显示在我项目的 Debug/ 文件夹中。但是,我收到错误

Severity    Code           Description  
Error       error LNK2019: unresolved external symbol _dfti_set_value_intval referenced in function _MAIN__ 
Error       error LNK2019: unresolved external symbol _dfti_compute_forward_dz referenced in function _MAIN__           
Error       error LNK2019: unresolved external symbol _dfti_compute_backward_zd referenced in function _MAIN__      
Error       error LNK2019: unresolved external symbol _dfti_create_descriptor_highd referenced in function _MAIN__          
Error       error LNK2019: unresolved external symbol _dfti_set_value_intvec referenced in function _MAIN__ 
Error       error LNK2019: unresolved external symbol _dfti_commit_descriptor_external referenced in function _MAIN__       

所有这些函数都在mkl_dfti.f90模块中定义。有什么我想念的吗?我已确保在项目属性中启用了 MKL 库。当我使用 VSL 库时,这通常就足够了,所以我现在不知道问题出在哪里。

问题是我在项目属性中为 Release 编译启用了 MKL 链接,但没有为 Debug 编译启用。这些可以通过左上角名为 Configuration 的下拉菜单进行更改。