Witam, otóż spotkałem się z pewnym problemem którego póki co własnymi siłami rozwiązać nie potrafię.
Chodzi o bibliotekę GMP. Ściągnąłem ją ze strony twórców(http://gmplib.org/) i zacząłem próby jej instalacji w środowisku Visual C++ 2010, bo gdzieś wyczytałem że bibliotekę trzeba skompilować, z tym że nigdy wcześniej nie miałem z tym do czynienia :P. Oczywiście najpierw zajrzałem do dokumentacji i ucieszony otworzyłem zakładkę install. Tam znalazłem opis:
GMP has an autoconf/automake/libtool based configuration system. On a Unix-like system a basic build can be done with
./configure
make
Some self-tests can be run with
make check
And you can install (under /usr/local by default) with
make install
Niestety mój system nie jest "Unix-like" więc na nic mi się to nie zdało.
No więc kolejny krok - zapytanie do wujka Google, który na ten temat praktycznie żadnych informacji nie posiadał, z bardziej sensownych materiałów znalazłem to:
- Download latest GMP and unzip to ${gmp_build}
2. Copy all files under patches/4.1-static (or patches/4.1-dynamic for building DLL) to ${gmp_build}
3. Open gmp.dsw (gmp.vcproj for VC++.Net) to build GMP
4. After building, you can use gmp.h, lib/gmp.lib, lib/gmpDebug.lib to build your GMP application. (If you build GMP DLL, then you need gmp.dll or gmpDebug.dll for runing your application.)Enjoy!
Problemem jest punkt 3, nigdzie nie doszukałem się pliku o nazwie gmp.dsw lub gmp.vcproj
Więc postanowiłem go ominąć i zrobiłem tak: skopiowałem pliki nagłówkowe do odpowiedniego folderu, następnie pliki .lib.
Uruchomiłem VC++, wszedłem w opcje projektu, w zakładce linker w polu "additional dependencies" dopisałem gmp.lib i gmpDebug.libi spróbowałem skompilować przykładowy program.
niby wszystko ok, ale wyświetliło błąd linkera:
1>LINK : fatal error LNK1104: cannot open file 'LIBC.lib'
Tym razem, wszedłem w opcje linkera i w polu "Ignore Specific Default Libraries" dopisałem LIC.lib, ale przy próbie ponownej kompilacji ujrzałem taką oto litanię:
1>gmp.lib(scanf.obj) : error LNK2019: unresolved external symbol __iob referenced in function ___gmp_scanf
1>gmp.lib(memory.obj) : error LNK2001: unresolved external symbol __iob
1>gmp.lib(assert.obj) : error LNK2001: unresolved external symbol __iob
1>gmp.lib(doscan.obj) : error LNK2019: unresolved external symbol __pctype referenced in function ___gmp_doscan
1>gmp.lib(set_str.obj) : error LNK2001: unresolved external symbol __pctype
1>gmp.lib(set_str.obj) : error LNK2001: unresolved external symbol __pctype
1>gmp.lib(doscan.obj) : error LNK2019: unresolved external symbol ___mb_cur_max referenced in function ___gmp_doscan
1>gmp.lib(set_str.obj) : error LNK2001: unresolved external symbol ___mb_cur_max
1>gmp.lib(set_str.obj) : error LNK2001: unresolved external symbol ___mb_cur_max
1>c:\users\komputer\documents\visual studio 2010\Projects\test2\Debug\test2.exe : fatal error LNK1120: 3 unresolved externals
I tutaj się zatrzymałem, więcej pomysłów nie mam. Proszę o wasze sugestie i pomoc. Pozdrawiam