作者herman602 (奸商)
看板C_and_CPP
标题[问题] 将GMP加入VisualStudio
时间Wed Sep 23 21:21:57 2009
我下载了GMP要到Visual Studio 2008使用
是选择
http://cs.nyu.edu/exact/core/gmp/ 里面的
static GMP library and header file for Visual C++: gmp-static-vc-4.1.2.zip
那档案里面有1个.h档, 2个lib档案
我都复制到专案资料夹里面
并且将.lib放到连结器里面
(依照
http://msdn.microsoft.com/zh-tw/library/ba1z7822%28VS.80%29.aspx 方法设定)
(在开发环境中加入 .lib 档做为连结器输入)
但是现在建置以後出现
1>------ 已开始建置: 专案: 一般用专案, 组态:
Debug Win32 ------
1>正在连结...
1>LINK : fatal error LNK1104: 无法开启档案 'LIBC.lib'
1>------ 已开始建置: 专案: 一般用专案, 组态:
Release Win32 ------
1>正在连结...
1>main.obj : error LNK2001: 无法解析的外部符号 ___gmp_printf
1>main.obj : error LNK2001: 无法解析的外部符号 ___gmpz_init
1>main.obj : error LNK2001: 无法解析的外部符号 ___gmpz_init_set_str
1>main.obj : error LNK2001: 无法解析的外部符号 ___gmpz_add_ui
1>main.obj : error LNK2001: 无法解析的外部符号 ___gmpz_mul_ui
1>C:\Users\herman602\Desktop\一般用专案\Release\一般用专案.exe : fatal error
LNK1120: 5 个无法解析的外部符号
以下为程式内容
#include <stdio.h>
#include "gmp.h"
void foo (mpz_t result, const mpz_t param, unsigned long n)
{
unsigned long i;
mpz_mul_ui (result, param, n);
for (i = 1; i < n; i++){
mpz_add_ui (result, result, i*7);
}
}
int main (void)
{
mpz_t r, n;
mpz_init (r);
mpz_init_set_str (n, "123456", 0);
foo (r, n, 20L);
gmp_printf ("%Zd\n", r);
return 0;
}
请问是有什麽问题呢
谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.195.49.9
※ 编辑: herman602 来自: 123.195.49.9 (09/23 21:22)
1F:推 QQ29:一般->其他程式库目录 设了没 09/23 21:34
2F:→ QQ29:你也可以都不设 直接拉到 方案管理员 跟cpp摆在一起 就ok 09/23 21:35
3F:→ herman602:有把lib跟h档案, 加到专案里面了 09/23 21:38
4F:推 QQ29:无法开启档案 'LIBC.lib 路径有设对嘛 09/23 22:38
5F:推 redsox:看起来你只有debug有设lib, 但release却没有 09/23 23:11
6F:→ redsox:libc.lib是single thread library,vs2005以後都不支援 09/23 23:12
7F:→ redsox:应该下载dynamic library的版本 09/23 23:13
8F:→ herman602:visual studio竟然说 .dll损坏= = 09/24 00:05
9F:推 redsox:到你给的link里的patches and project files 09/24 12:01
10F:→ redsox:去抓static或dynamic专案自己建立lib,应该可以用吧?! 09/24 12:02