我想运行我在学校使用GMP库编写的程序,但是我需要您的帮助才能使其工作。程序本身没问题,但我不知道如何正确包含GMP。我正在使用Netbeans IDE和cygwin,该程序在C++中。任何人都可以告诉我如何做到这一点?有很多东西我不确定,例如:使用GMP在学校计算机上运行程序
- 我需要为该计算机专门编译吗?
- 操作系统是否重要?
对不起,如果这是问题已经回答了某个地方。我已经搜索了一段时间,但似乎找不到任何东西,甚至没有GMP本身的例子。
提前致谢!
编辑:
我真的无法找出如何链接此。该程序立即崩溃并转储堆栈跟踪。它说:例外:STATUS_ILLEGAL_INSTRUCTION。在文件夹中,我有cyggcc_s-seh-1.dll,cyggmp-10.dll,cygstdC++ = 6.dll,cygwin1.dll,exe,gmpxx.h,libgmp.a,libgmp.la,libgmp.lai,libgmp。 libcmd,libgmpxx.a,libgmpxx.la,libgmpxx.lai,main.cpp,main.o,main.od,.dep.inc以及我的程序所需的一些文件和文件夹。
我已经包含了GMP和gmpxx,当我建立它给出了:
"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Entering directory '/cygdrive/e/Documents/NetBeansProjects/GeneticPrimesFast'
"/usr/bin/make" -f nbproject/Makefile-Debug.mk dist/Debug/Cygwin_4.x-Windows/geneticprimesfast.exe
make[2]: Entering directory '/cygdrive/e/Documents/NetBeansProjects/GeneticPrimesFast'
mkdir -p build/Debug/Cygwin_4.x-Windows
rm -f "build/Debug/Cygwin_4.x-Windows/main.o.d"
g++ -c -g -Werror -I../../GMP/gmp-6.0.0 -std=c++11 -MMD -MP -MF "build/Debug/Cygwin_4.x-Windows/main.o.d" -o build/Debug/Cygwin_4.x-Windows/main.o main.cpp
mkdir -p dist/Debug/Cygwin_4.x-Windows
g++ -o dist/Debug/Cygwin_4.x-Windows/geneticprimesfast build/Debug/Cygwin_4.x-Windows/main.o -lgmpxx -lgmp
make[2]: Leaving directory '/cygdrive/e/Documents/NetBeansProjects/GeneticPrimesFast'
make[1]: Leaving directory '/cygdrive/e/Documents/NetBeansProjects/GeneticPrimesFast'
BUILD SUCCESSFUL (total time: 2s)
我很强调,现在,因为我需要这个,明天上班。任何帮助将非常感谢!
编辑2:
我得出的结论是,可能是正确的:它与代码有关。什么是导致非法指示的典型事情?
编辑3:
感谢您的帮助!我发现它与gmp(也可能是get_d)中的get_str命令有关。有没有人知道没有这个功能获得一个字符串的另一种方式,或者我使用它错了吗?
编辑4:
mpf_set_d也不起作用。这是该计划的基础。有谁知道如何解决这个问题或我哪里出错?也许是开发工具,我将如何检查?
我不确定你可以一起使用netbeans和cygwin,但对于cygwin你只需要使用cygwin自己的安装程序来安装libgmp-devel。 – 2015-02-09 16:51:17
感谢您的快速回复!我正在安装它。在完成安装和编译之后,我是否正常链接它? – Jelle 2015-02-09 17:03:33
我发现了有关该工具的信息,但我不知道如何链接它。你可能会在下午作一个简短的解释吗? – Jelle 2015-02-09 18:38:53