0

I am trying to install the library libLAS. I’m working with Microsoft Visual Studio 2010 , windows 7 and Cmake 2.8.10.2 . So far I’ve Installed Boost 1.51 and I followed this tutorial: http://www.liblas.org/compilation.html#using-visual-studio-9-2008-on-windows

After quite a few problem with cmake, I created the .sln, which I am now trying to compile. In particular, I'm trying to build the project 'liblas'. I receive 37 errors, all like this one:

Error   1   error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)  C:\temp\libLAS\buildout\src\writer.cpp.obj

Edited to add other errors:

2>     Creating library C:/temp/libLAS/buildout/bin/Release/liblas.lib and object C:/temp/libLAS/buildout/bin/Release/liblas.exp
2>writer.cpp.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
2>header.cpp.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
2>reader.cpp.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
2>header.cpp.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
2>point.cpp.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
2>point.cpp.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
2>reader.cpp.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
2>utility.cpp.obj : error LNK2019: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ) referenced in function "public: __cdecl std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(int)" (??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z)
2>writer.cpp.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
2>index.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
2>transform.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
2>cachedreader.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
2>header.cpp.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
2>indexoutput.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
2>chipper.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
2>factory.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
2>filter.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
2>writer.cpp.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)
2>libboost_thread-vc100-mt-1_51.lib(thread.obj) : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)
2>header.cpp.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)
2>reader.cpp.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)
2>header.cpp.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)
2>point.cpp.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)
2>point.cpp.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)
2>reader.cpp.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)
2>utility.cpp.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)
2>writer.cpp.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)
2>index.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)
2>transform.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)
2>cachedreader.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)
2>header.cpp.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)
2>indexoutput.obj : error LNK2019: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ) referenced in function "void __cdecl boost::system::`dynamic initializer for 'native_ecat''(void)" (??__Enative_ecat@system@boost@@YAXXZ)
2>chipper.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)
2>factory.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)
2>filter.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)
2>libboost_thread-vc100-mt-1_51.lib(thread.obj) : error LNK2019: unresolved external symbol "public: static class boost::chrono::time_point<class boost::chrono::system_clock,class boost::chrono::duration<__int64,class boost::ratio<1,10000000> > > __cdecl boost::chrono::system_clock::now(void)" (?now@system_clock@chrono@boost@@SA?AV?$time_point@Vsystem_clock@chrono@boost@@V?$duration@_JV?$ratio@$00$0JIJGIA@@boost@@@23@@23@XZ) referenced in function "public: bool __cdecl boost::thread::try_join_until(class boost::chrono::time_point<class boost::chrono::system_clock,class boost::chrono::duration<__int64,class boost::ratio<1,1000000000> > > const &)" (?try_join_until@thread@boost@@QEAA_NAEBV?$time_point@Vsystem_clock@chrono@boost@@V?$duration@_JV?$ratio@$00$0DLJKMKAA@@boost@@@23@@chrono@2@@Z)
2>C:\temp\libLAS\buildout\bin\Release\liblas.dll : fatal error LNK1120: 3 unresolved externals
2>
2>Build FAILED.
Vertexwahn
  • 7,709
  • 6
  • 64
  • 90
Yellaine
  • 1
  • 3
  • 2
    That error message says that you're not correctly linking to the `boost_system` library. – us2012 Mar 18 '13 at 14:19
  • Show us all of the errors. My guess is that you haven't specified the library directory in your linker path. – metal Mar 18 '13 at 14:21
  • I put 'C:/Boost/boost_1_51/lib' in 'Additional Library Dependency' in the Linker. I also filled the 'Additional Dependencies' part. – Yellaine Mar 18 '13 at 14:38
  • What libraries did you put in the additional dependencies? It seems that you're missing boost_system. – metal Mar 18 '13 at 14:48
  • kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib ..\bin\Debug\liblas.lib c:\OSGeo4W\lib\libtiff_i.lib c:\OSGeo4W\lib\geotiff_i.lib c:\OSGeo4W\lib\gdal_i.lib c:\OSGeo4W\lib\laszip.lib libboost_program_options-vc100-mt-gd-1_51.lib libboost_thread-vc100-mt-gd-1_51.lib libboost_system-vc100-mt-gd-1_51.lib – Yellaine Mar 18 '13 at 14:53
  • I used another version of boost that I compiled myself, and things seems to work better now. Not sure why though... – Yellaine Mar 18 '13 at 15:58
  • The list of additional dependency libs appear to be Debug ones, while your error message relates to a Release build. Did you correctly add the Release Boost.System lib to the Additional Dependencies for Release Configuration? – Fraser Mar 18 '13 at 22:08
  • Did you try [this](http://stackoverflow.com/questions/3808775/cmake-doesnt-find-boost)? – Olha Puzhay Mar 21 '13 at 10:26

1 Answers1

1

BlueGo can build libLAS for you: https://bitbucket.org/Vertexwahn/bluego

You can build it on Windows using VS2017 the following way:

set dest=C:\thirdparty\vs2017\x64
set cmake_command=cmake
set boost_root=C:/thirdparty/vs2017/x64/boost_1_65_0
if NOT [%1]==[] set dest=%~1
if NOT [%2]==[] set cmake_command="%~2"
if NOT [%3]==[] set boost_root=%~3
if [%1]==["--boost-root"] set boost_root=%~2
wget.exe --no-check-certificate https://github.com/libLAS/libLAS-1.6/archive/master.zip -O%cd%\master.zip
7za.exe x %cd%\master.zip -o%dest%
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64
%cmake_command% -DBUILD_STATIC_LIBS=ON -DBOOST_ROOT=%boost_root% -G"Visual Studio 15 2017 Win64" -H%dest%\libLAS-1.6-master -B%dest%\libLAS-1.6-master\build
del %cd%\master.zip
C:
cd %dest%\libLAS-1.6-master\build
%cmake_command% --build . --config Debug --target liblas
%cmake_command% --build . --config Release --target liblas
%cmake_command% --build . --config RelWithDebInfo --target liblas
%cmake_command% --build . --config Debug --target liblas_c
%cmake_command% --build . --config Release --target liblas_c
%cmake_command% --build . --config RelWithDebInfo --target liblas_c
Vertexwahn
  • 7,709
  • 6
  • 64
  • 90