我无法在 Windows 桌面上编译 GMP 库(针对 c 或 c++)

问题描述 投票:0回答:1

我需要 Windows C++ 项目的 GMP。

我使用 CygWin 作为 bash 和编译器。 GMP 文档推荐 CygWin(和 Mingw),所以从技术上讲它应该可以做到。

当我“制作”项目后发生错误

autoconf 
./configure --prefix "Some_Path_to_build"
make

错误如下

libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMP -I.. -DOPERATION_fib_table -O2 -pedantic -fomit-frame-pointer -m64 -mtune=znver1 -march=znver1 -c fib_table.c -o fib_table.o
In file included from fib_table.c:4:
../gmp-impl.h:146:10: fatal error: ../gmp-mparam.h: Invalid argument
 #include "gmp-mparam.h"
          ^~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Makefile:492: fib_table.lo] Error 1
make[2]: Leaving directory '/cygdrive/d/SDK/gmp-6.2.1/mpn'
make[1]: *** [Makefile:997: all-recursive] Error 1
make[1]: Leaving directory '/cygdrive/d/SDK/gmp-6.2.1'
make: *** [Makefile:787: all] Error 2

我在 VS Code 中打开 gmp-impl.h 文件,它实际上说:如果我将鼠标悬停在

#include <gmp-mparam.h>
部分上,则找不到标题。就像您包含一个不在任何默认包含目录中的标头一样。 但是我(双重)检查了它,标题位于正确的目录中。

我使用相同的命令在 Linux (Ubuntu) 上多次编译它,它工作得很好。

编辑

我今天发现,头文件肯定有问题。我可以打开

gmp-mparam.h
,但它是空的,当我尝试编辑它或更确切地说保存它时,我抛出一个未知错误。

c makefile cygwin mingw-w64 gmp
1个回答
0
投票

我的电脑上也遇到了这个错误。我认为软符号链接导致了这个错误。但是,在用真实文件替换所有符号链接后,我遇到了另一个问题。 make 命令卡在这个命令上。

/bin/sh ../libtool  --tag=CC   --mode=link gcc  -O2 -pedantic -fomit-frame-pointer -m64 -mtune=k8 -march=k8   -o libmpn.la  fib_table.lo mp_bases.lo invert_limb_table.lo add.lo add_1.lo add_n.lo sub.lo sub_1.lo sub_n.lo cnd_add_n.lo cnd_sub_n.lo cnd_swap.lo neg.lo com.lo mul_1.lo addmul_1.lo submul_1.lo add_err1_n.lo add_err2_n.lo add_err3_n.lo sub_err1_n.lo sub_err2_n.lo sub_err3_n.lo lshift.lo rshift.lo dive_1.lo diveby3.lo divis.lo divrem.lo divrem_1.lo divrem_2.lo fib2_ui.lo fib2m.lo mod_1.lo mod_34lsub1.lo mode1o.lo pre_mod_1.lo dump.lo mod_1_1.lo mod_1_2.lo mod_1_3.lo mod_1_4.lo lshiftc.lo mul.lo mul_fft.lo mul_n.lo sqr.lo mul_basecase.lo sqr_basecase.lo nussbaumer_mul.lo mulmid_basecase.lo toom42_mulmid.lo mulmid_n.lo mulmid.lo random.lo random2.lo pow_1.lo rootrem.lo sqrtrem.lo sizeinbase.lo get_str.lo set_str.lo compute_powtab.lo scan0.lo scan1.lo popcount.lo hamdist.lo cmp.lo zero_p.lo perfsqr.lo perfpow.lo strongfibo.lo gcd_11.lo gcd_22.lo gcd_1.lo gcd.lo gcdext_1.lo gcdext.lo gcd_subdiv_step.lo gcdext_lehmer.lo div_q.lo tdiv_qr.lo jacbase.lo jacobi_2.lo jacobi.lo get_d.lo matrix22_mul.lo matrix22_mul1_inverse_vector.lo hgcd_matrix.lo hgcd2.lo hgcd_step.lo hgcd_reduce.lo hgcd.lo hgcd_appr.lo hgcd2_jacobi.lo hgcd_jacobi.lo mullo_n.lo mullo_basecase.lo sqrlo.lo sqrlo_basecase.lo toom22_mul.lo toom32_mul.lo toom42_mul.lo toom52_mul.lo toom62_mul.lo toom33_mul.lo toom43_mul.lo toom53_mul.lo toom54_mul.lo toom63_mul.lo toom44_mul.lo toom6h_mul.lo toom6_sqr.lo toom8h_mul.lo toom8_sqr.lo toom_couple_handling.lo toom2_sqr.lo toom3_sqr.lo toom4_sqr.lo toom_eval_dgr3_pm1.lo toom_eval_dgr3_pm2.lo toom_eval_pm1.lo toom_eval_pm2.lo toom_eval_pm2exp.lo toom_eval_pm2rexp.lo toom_interpolate_5pts.lo toom_interpolate_6pts.lo toom_interpolate_7pts.lo toom_interpolate_8pts.lo toom_interpolate_12pts.lo toom_interpolate_16pts.lo invertappr.lo invert.lo binvert.lo mulmod_bnm1.lo sqrmod_bnm1.lo mulmod_bknp1.lo div_qr_1.lo div_qr_1n_pi1.lo div_qr_2.lo div_qr_2n_pi1.lo div_qr_2u_pi1.lo sbpi1_div_q.lo sbpi1_div_qr.lo sbpi1_divappr_q.lo dcpi1_div_q.lo dcpi1_div_qr.lo dcpi1_divappr_q.lo mu_div_qr.lo mu_divappr_q.lo mu_div_q.lo bdiv_q_1.lo sbpi1_bdiv_q.lo sbpi1_bdiv_qr.lo sbpi1_bdiv_r.lo dcpi1_bdiv_q.lo dcpi1_bdiv_qr.lo mu_bdiv_q.lo mu_bdiv_qr.lo bdiv_q.lo bdiv_qr.lo broot.lo brootinv.lo bsqrt.lo bsqrtinv.lo divexact.lo bdiv_dbm1c.lo redc_1.lo redc_2.lo redc_n.lo powm.lo powlo.lo sec_powm.lo sec_mul.lo sec_sqr.lo sec_div_qr.lo sec_div_r.lo sec_pi1_div_qr.lo sec_pi1_div_r.lo sec_add_1.lo sec_sub_1.lo sec_invert.lo trialdiv.lo remove.lo and_n.lo andn_n.lo nand_n.lo ior_n.lo iorn_n.lo nior_n.lo xor_n.lo xnor_n.lo copyi.lo copyd.lo zero.lo sec_tabselect.lo comb_tables.lo invert_limb.lo sqr_diag_addlsh1.lo mul_2.lo addmul_2.lo addlsh1_n.lo sublsh1_n.lo rsblsh1_n.lo rsh1add_n.lo rsh1sub_n.lo addlsh2_n.lo rsblsh2_n.lo addlsh_n.lo rsblsh_n.lo add_n_sub_n.lo addaddmul_1msb0.lo
© www.soinside.com 2019 - 2024. All rights reserved.