我最近写了一个C程序,它使用公共域mpir和mpfr库。我已经在Windows上使用微软Visual C++ 10编译器编译它。为了让它发挥作用,我必须做以下工作:
从http://gladman.plushost.co.uk/oldsite/computing/gmp4win.php下载/构建mpir和mpfr库
将文件mpir.h
和mpfr.h
移动到Microsoft编译器的Include目录中
将文件mpir.lib
、mpir.pdb
、mpfr.lib
和mpfr.pdb
移到Microsoft编译器的lib目录中
程序中的
使用#include
编译
我现在想把我写的源/头文件和一个makefile一起发送给其他人,他们可以用这个makefile来编译代码并检查它是否有效。因为那个人不会安装mpir/mpfr库,而且可能不会使用同一个编译器,所以我不太确定如何做到这一点。
以下是我能做的:
将二进制文件mpir.h
、mpfr.h
、cl <..module names..> /link mpir.lib mpfr.lib
和mpir.lib
以及源/头文件发送给它们。
以下是我不能做的:
发送他们我的整个微软Visual C++ 10设置
要求他们将文件保存在mpir.pdb
和mpfr.lib
目录中(除非没有其他方法)
理想情况下,我应该能够向他们发送源/头文件,以及相关的mpir/mpfr二进制文件和makefile,然后他们可以运行该makefile来构建程序。
提前谢谢你的帮助!
最佳答案
你到底为什么要把这些文件添加到编译器安装路径中??编译器有command line options用于指定搜索路径。
例如,
cl /I"path/to/mpfr/header" <...filenames...> /link /LIBPATH:"path/to/mpfr/lib" mpir.lib mpfr.lib
只需发送源代码mpir.h、mpir.lib、mpfr.h和mpfr.lib。PDB文件包含调试信息,不需要编译。
另外,我不知道如何创建makefile,但是使用上面的命令创建一个简单的批处理文件就足够了。