dth*_*ree 2 c++ cygwin makefile autotools gmp
我是C++的新手,我必须处理大整数,所以我必须通过Cygwin安装GMP.
我在安装时可以找到的任何文档都假设你知道你在说什么,而我却不知道.
无论如何,我得到了正确的.tar或其他什么,正确地提取它,现在我看到的任何网站都说要运行./configure --prefix=${gmp_install}...
世界上到底是gmp_install什么?我configure从哪个目录运行?咦?我可以从我的小Cygwin终端运行它,但它只是说没有这样的文件.
接下来,我应该输入make.来自哪里?
救命...
欢迎来到StackOverflow(SO).
GMP的源目录应该包含名为的文件configure.这是您必须执行以在您的环境中"配置"构建系统的脚本.这意味着在配置过程中,Autotools(用于构建GMP的构建系统)将收集有关您的环境的信息并生成相应的信息makefile.收集信息包括:了解您在Windows上,了解您正在使用Cygwin,了解您的编译器是GCC,其版本是xyz等等.所有这些步骤对于成功构建都很重要.
您可以为此configure脚本指定许多不同的选项以调整配置过程.在您的情况下,您指定prefix用于确定安装目录的选项,即您希望构建和即用型GMP分发所在的目录.例如:
./configure --prefix=/D/Libraries/GMP
Run Code Online (Sandbox Code Playgroud)
将配置构建系统以将GMP二进制文件安装到D:\Libraries\GMP目录.
假设GMP源目录(您从中提取的目录*.tar)位于,例如D:\Users\Me\Downloads\GMP,为了构建和安装GMP,您应该执行以下操作:
cd /D/Users/Me/Downloads/GMP
./configure --prefix=/D/Libraries/GMP
make
make install
Run Code Online (Sandbox Code Playgroud)
注意:该make命令实际上将执行我之前提到的makefile(由configure脚本生成).此文件描述了在系统上构建和安装GMP的过程.
注意: ${gmp_install}什么都不是,但是环境变量.例如,你可以这样做:
export gmp_install=/D/Libraries/GMP
./configure --prefix=${gmp_install}
Run Code Online (Sandbox Code Playgroud)
这可能很有用,例如,当你必须在多个地方使用相同的路径,并且不想每次都输入它.还有其他情况,当这是有用的,但为此你必须了解更多关于环境变量,它们的用途,以及一般的Bash脚本.但是,所有这些远远超出了你的问题的答案.
你将不得不花费相当多的时间来理解所有这些事情以及它们如何结合在一起,你可能不得不在这里提出更多问题,因为理解所有这些东西对于一个初学者来说可能是非常具有挑战性的.