2015-11-29 3 views
0

Возможно, кто-то может помочь мне получить эту работу. Для создания ячеек из pointclouds я установил CGAL 4.7 на Win7 x64 и после использования Cmake я успешно скомпилировал его с помощью VS2012. В тестовом проекте я хочу построить пример, найденный на документах CGAL http://doc.cgal.org/latest/Advancing_front_surface_reconstruction/Advancing_front_surface_reconstruction_2reconstruction_surface_mesh_8cpp-example.html В моем проекте я связал/включил CGAL и увеличил и библиотеку gmp (тот, который поставляется с установкой CGAL). Но если составление этого небольшого теста еще я получаю сообщение об ошибке:Ошибка компиляции с использованием CGAL и 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

Так я подозреваю, что есть еще некоторые dependencys отсутствует, но какие из них? Заранее спасибо

забыл командные строки: 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"

линкер:

/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

Я не вижу команды, вызвавшей эти сообщения об ошибках, поэтому я могу только догадываться. Вам нужно связать с GMP. –

ответ

1

В Visual Studio 2015 (и я предполагаю, что в Visual Studio 2012) вам нужно указать фактические файлы lib дополнительно в каталоги, где искать эти файлы (как описано здесь: When to use the Visual Studio Additional dependencies?).

Глядя на вашу команду компоновщика, я вижу, что вы указали каталог с GMP/MPFR LIBS (/LIBPATH:"C:\Users\cap\Documents\cpp_libraries\CGAL-4.7\auxiliary\gmp\lib), но вы также должны указать фактические Lib файлы, добавляя их в /DYNAMICBASE списке:

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

Его работа для меня! – mojiiz

Смежные вопросы