做个 笔记
最近项目需要 c++ cli 制作 一个 包 c++ 的 wrapper, 然而 c++ 的源码中 有一部分 包含了 第三方 fortran 的 lib。
遇到问题为 cli 编译的 dll 始终找不到 dependency, 后来发现是 fortran complier 中(compilers_and_libraries_2016.3.207\windows\redist\intel64_win\compiler)的 几个dll 没有 放在 编译的 cli dll 文件夹下。
libifcoremd.dll , libifcoremdd.dll, libmmd.dll, libmmdd.dll
于是,在 build event 中 加入了 如下 语句, 编译时会将 需要的 dll 复制过来:
copy /Y "$(IFORT_COMPILER16)\redist\intel64_win\compiler\libifcoremd.dll" "$(SolutionDir)$(Configuration)\libifcoremd.dll"
另外需要 提示:
1. 检查编译选项中 cofigurations 和 platform 设置的 前后一致性;
2. dll 的所有 dependency 全部需要的时候 必须要指定 并且 必须在相同的文件下;