2015-11-29 5 views
0

peut-être que quelqu'un peut m'aider à obtenir ce travail. Pour créer des maillages à partir de pointclouds, j'ai installé CGAL 4.7 sur Win7 x64 et après avoir utilisé Cmake, je l'ai compilé avec succès en utilisant VS2012. Dans un projet de test, je veux construire un exemple trouvé sur les docs CGAL http://doc.cgal.org/latest/Advancing_front_surface_reconstruction/Advancing_front_surface_reconstruction_2reconstruction_surface_mesh_8cpp-example.html Dans mon projet j'ai lié/inclus CGAL et boost et la bibliothèque gmp (celle fournie avec l'installation CGAL). Mais si la compilation de ce petit test encore je reçois ce message d'erreur:Erreur de compilation en utilisant CGAL et GMP

1> ConsoleApplication1.cpp 
 
1>ConsoleApplication1.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp___gmpq_add" in Funktion ""class CGAL::Gmpq __cdecl CGAL::operator+(class CGAL::Gmpq const &,class CGAL::Gmpq const &)" ([email protected]@[email protected]@[email protected]@Z)". 
 
1>ConsoleApplication1.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp___gmpq_clear" in Funktion ""public: __cdecl CGAL::Gmpq_rep::~Gmpq_rep(void)" ([email protected]@@[email protected])". 
 
1>ConsoleApplication1.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp___gmpq_cmp" in Funktion ""public: bool __cdecl CGAL::Gmpq::operator<(class CGAL::Gmpq const &)const " ([email protected]@@[email protected]@Z)". 
 
1>ConsoleApplication1.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp___gmpq_init" in Funktion ""public: __cdecl CGAL::Gmpq_rep::Gmpq_rep(void)" ([email protected]@@[email protected])". 
 
1>ConsoleApplication1.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp___gmpq_mul" in Funktion ""class CGAL::Gmpq __cdecl CGAL::operator*(class CGAL::Gmpq const &,class CGAL::Gmpq const &)" ([email protected]@[email protected]@[email protected]@Z)". 
 
1>ConsoleApplication1.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp___gmpq_set_d" in Funktion ""public: __cdecl CGAL::Gmpq::Gmpq(double)" ([email protected]@@[email protected]@Z)". 
 
1>ConsoleApplication1.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp___gmpq_sub" in Funktion ""class CGAL::Gmpq __cdecl CGAL::operator-(class CGAL::Gmpq const &,class CGAL::Gmpq const &)" ([email protected]@[email protected]@[email protected]@Z)". 
 
1>ConsoleApplication1.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp___gmpn_add_n" in Funktion "__gmpn_add". 
 
1>ConsoleApplication1.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp___gmpn_mul" in Funktion ""struct CGAL::Mpzf __cdecl CGAL::operator*(struct CGAL::Mpzf const &,struct CGAL::Mpzf const &)" ([email protected]@[email protected]@[email protected]@Z)". 
 
1>ConsoleApplication1.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp___gmpn_sqr" in Funktion ""struct CGAL::Mpzf __cdecl CGAL::Mpzf_square(struct CGAL::Mpzf const &)" ([email protected]@@[email protected]@[email protected]@Z)". 
 
1>ConsoleApplication1.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp___gmpn_sub_n" in Funktion "__gmpn_sub". 
 
1>ConsoleApplication1.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp___gmpn_copyi" in Funktion ""public: __cdecl CGAL::Mpzf::Mpzf(struct CGAL::Mpzf const &)" ([email protected]@@[email protected]@@Z)". 
 
1>C:\Users\cap\documents\visual studio 2012\Projects\ConsoleApplication1\x64\Debug\ConsoleApplication1.exe : fatal error LNK1120: 12 nicht aufgelöste Externe

Donc je pense qu'il ya encore quelques dependencys manquants, mais ceux qui? Merci d'avance

oublié les lignes de commande: c/C++

/Yu"stdafx.h" /GS /W3 /Zc:wchar_t /I"C:\Users\cap\Documents\cpp_libraries\CGAL-4.7\auxiliary\gmp\include" /I"C:\Users\cap\Documents\cpp_libraries\CGAL-4.7\build\include" /I"C:\Users\cap\Documents\cpp_libraries\boost_1_54_0" /I"C:\Users\cap\Documents\cpp_libraries\CGAL-4.7\include" /Zi /Gm /Od /sdl /Fd"x64\Debug\vc110.pdb" /fp:precise /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /errorReport:prompt /WX- /Zc:forScope /RTC1 /Gd /MDd /Fa"x64\Debug\" /EHsc /nologo /Fo"x64\Debug\" /Fp"x64\Debug\ConsoleApplication1.pch"

linker:

/OUT:"C:\Users\cap\documents\visual studio 2012\Projects\ConsoleApplication1\x64\Debug\ConsoleApplication1.exe" /MANIFEST /NXCOMPAT /PDB:"C:\Users\cap\documents\visual studio 2012\Projects\ConsoleApplication1\x64\Debug\ConsoleApplication1.pdb" /DYNAMICBASE "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" /DEBUG /MACHINE:X64 /INCREMENTAL /PGD:"C:\Users\cap\documents\visual studio 2012\Projects\ConsoleApplication1\x64\Debug\ConsoleApplication1.pgd" /SUBSYSTEM:CONSOLE /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"x64\Debug\ConsoleApplication1.exe.intermediate.manifest" /ERRORREPORT:PROMPT /NOLOGO /LIBPATH:"C:\Users\cap\Documents\cpp_libraries\CGAL-4.7\auxiliary\gmp\lib" /LIBPATH:"C:\Users\cap\Documents\cpp_libraries\boost_1_54_0\lib64-msvc-11.0" /LIBPATH:"C:\Users\cap\Documents\cpp_libraries\CGAL-4.7\build\lib" /TLBID:1

+0

Je ne peux pas voir la commande qui a provoqué ces messages d'erreur, donc je ne peux que deviner. Vous devez créer un lien avec GMP. –

Répondre

1

Dans Visual Studio 2015 (et je suppose dans Visual Studio 2012), vous devez spécifier les fichiers lib réels en plus dans les répertoires où rechercher ces fichiers (comme expliqué ici: When to use the Visual Studio Additional dependencies?).

En regardant votre commande de liaison, je vois que vous avez spécifié le répertoire des libs GMP/MPFR (/LIBPATH:"C:\Users\cap\Documents\cpp_libraries\CGAL-4.7\auxiliary\gmp\lib), mais vous devez également spécifier les fichiers lib réels en les ajoutant à la liste /DYNAMICBASE:

/DYNAMICBASE "libgmp-10.lib" "libmpfr-4.lib" "kernel32.lib" "user32.lib" ... 
+0

Son travail pour moi! – mojiiz