Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.

A TBB example does not compile in VS 2013

Luis_S_
Novice
560 Views

Hello All,

I was able to build and run shortpath example using the nmake and the Makefile to build the example. In the command line window (in Spanish is: Simbolo del sistema, I think Prompt window in English) I ran tbbvars.bat and I fixed PATH and INCLUDE environment variables:

set PATH=C:\Program Files (x86)\Microsoft Visual C++ Compiler Nov 2013 CTP\bin;%PATH%

set INCLUDE=C:\Program Files (x86)\Microsoft Visual C++ Compiler Nov 2013 CTP\include;%INCLUDE%

Then I executed nmake and the executable was built and I ran it.

Then I opened the .sln file in Visual Studio 2013, the first message was that the .vcxproj was going to be updated to vs 2013 and I accepted.

I opened the project's properties window and selected the same compiler as before, I also changed the libraries to ia32\vc12 instead of ia32\vc10

When I compile the project I get 52 errors, 42 of them LNK errors, for some reason VS2013 is not linking correctly.

Does anyone know if is it possible to build tbb examples with vs2013? if it is, where should I check?

I attach the project's files

Thank you.

P.S. List of errors

Error    2    error LNK2001: símbolo externo __purecall sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    3    error LNK2019: símbolo externo "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) sin resolver al que se hace referencia en la función "void __cdecl shortpath(void)" (?shortpath@@YAXXZ)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    4    error LNK2001: símbolo externo "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\msvcprtd.lib(newaop_s.obj)    shortpath
Error    5    error LNK2019: símbolo externo "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) sin resolver al que se hace referencia en la función __unwindfunclet$?shortpath@@YAXXZ$0    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    6    error LNK2001: símbolo externo "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\msvcprtd.lib(locale0_implib.obj)    shortpath
Error    7    error LNK2019: símbolo externo _atexit sin resolver al que se hace referencia en la función "void __cdecl `dynamic initializer for 'public: static class std::_Generic_error_category std::_Error_objects<int>::_Generic_object''(void)" (??__E?_Generic_object@?$_Error_objects@H@std@@2V_Generic_error_category@2@A@@YAXXZ)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    8    error LNK2001: símbolo externo _atexit sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\msvcprtd.lib(locale0_implib.obj)    shortpath
Error    9    error LNK2019: símbolo externo __imp___invalid_parameter sin resolver al que se hace referencia en la función "public: bool __thiscall std::_Tree_const_iterator<class std::_Tree_val<struct std::_Tree_simple_types<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class utility::internal::argument> > > >::operator==(class std::_Tree_const_iterator<class std::_Tree_val<struct std::_Tree_simple_types<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class utility::internal::argument> > > > const &)const " (??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@Vargument@internal@utility@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    10    error LNK2019: símbolo externo __imp__printf sin resolver al que se hace referencia en la función "void __cdecl print_path(void)" (?print_path@@YAXXZ)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    11    error LNK2019: símbolo externo __imp__exit sin resolver al que se hace referencia en la función __catch$?parse_cli_arguments@utility@@YAXHQAPBDVcli_argument_pack@1@@Z$0    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    12    error LNK2019: símbolo externo _abs sin resolver al que se hace referencia en la función "bool __cdecl die_toss(unsigned int,unsigned int,class utility::FastRandom &)" (?die_toss@@YA_NIIAAVFastRandom@utility@@@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    13    error LNK2019: símbolo externo __imp__free sin resolver al que se hace referencia en la función "void __cdecl std::_DebugHeapDelete<class std::_Facet_base>(class std::_Facet_base *)" (??$_DebugHeapDelete@V_Facet_base@std@@@std@@YAXPAV_Facet_base@0@@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    14    error LNK2001: símbolo externo __imp__free sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\msvcprtd.lib(locale0_implib.obj)    shortpath
Error    15    error LNK2019: símbolo externo _sqrt sin resolver al que se hace referencia en la función "double __cdecl get_distance(struct point const &,struct point const &)" (?get_distance@@YANABUpoint@@0@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    16    error LNK2019: símbolo externo __imp___hypot sin resolver al que se hace referencia en la función _hypot    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    17    error LNK2001: símbolo externo __imp___hypot sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\msvcprtd.lib(locale0_implib.obj)    shortpath
Error    18    error LNK2019: símbolo externo __imp__memmove sin resolver al que se hace referencia en la función "unsigned int * __cdecl std::_Uninit_move<unsigned int,unsigned int,unsigned int>(unsigned int *,unsigned int *,unsigned int *,struct std::_Wrap_alloc<class std::allocator<unsigned int> > &,unsigned int *,struct std::_Scalar_ptr_iterator_tag)" (??$_Uninit_move@III@std@@YAPAIPAI00AAU?$_Wrap_alloc@V?$allocator@I@std@@@0@0U_Scalar_ptr_iterator_tag@0@@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    19    error LNK2019: símbolo externo _memcpy sin resolver al que se hace referencia en la función "public: static char * __cdecl std::char_traits<char>::copy(char *,char const *,unsigned int)" (?copy@?$char_traits@D@std@@SAPADPADPBDI@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    20    error LNK2019: símbolo externo __imp__memchr sin resolver al que se hace referencia en la función "char const * __cdecl std::_Find<char const *,char>(char const *,char const *,char const &,struct std::integral_constant<bool,1>)" (??$_Find@PBDD@std@@YAPBDPBD0ABDU?$integral_constant@_N$00@0@@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    21    error LNK2019: símbolo externo _memcmp sin resolver al que se hace referencia en la función "public: static int __cdecl std::char_traits<char>::compare(char const *,char const *,unsigned int)" (?compare@?$char_traits@D@std@@SAHPBD0I@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    22    error LNK2019: símbolo externo _memset sin resolver al que se hace referencia en la función "public: static char * __cdecl std::char_traits<char>::assign(char *,unsigned int,char)" (?assign@?$char_traits@D@std@@SAPADPADID@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    23    error LNK2019: símbolo externo _strlen sin resolver al que se hace referencia en la función "public: static unsigned int __cdecl std::char_traits<char>::length(char const *)" (?length@?$char_traits@D@std@@SAIPBD@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    24    error LNK2019: símbolo externo "__declspec(dllimport) public: __thiscall std::exception::exception(char const * const &)" (__imp_??0exception@std@@QAE@ABQBD@Z) sin resolver al que se hace referencia en la función "public: __thiscall std::logic_error::logic_error(char const *)" (??0logic_error@std@@QAE@PBD@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    25    error LNK2019: símbolo externo "__declspec(dllimport) public: __thiscall std::exception::exception(class std::exception const &)" (__imp_??0exception@std@@QAE@ABV01@@Z) sin resolver al que se hace referencia en la función "public: __thiscall std::logic_error::logic_error(class std::logic_error const &)" (??0logic_error@std@@QAE@ABV01@@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    26    error LNK2019: símbolo externo "__declspec(dllimport) public: virtual __thiscall std::exception::~exception(void)" (__imp_??1exception@std@@UAE@XZ) sin resolver al que se hace referencia en la función "public: virtual __thiscall std::logic_error::~logic_error(void)" (??1logic_error@std@@UAE@XZ)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    27    error LNK2019: símbolo externo "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z) sin resolver al que se hace referencia en la función "void __cdecl ReleaseGraph(void)" (?ReleaseGraph@@YAXXZ)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    28    error LNK2019: símbolo externo __imp___CrtDbgReportW sin resolver al que se hace referencia en la función "public: bool __thiscall std::_Tree_const_iterator<class std::_Tree_val<struct std::_Tree_simple_types<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class utility::internal::argument> > > >::operator==(class std::_Tree_const_iterator<class std::_Tree_val<struct std::_Tree_simple_types<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class utility::internal::argument> > > > const &)const " (??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@Vargument@internal@utility@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    29    error LNK2019: símbolo externo "__declspec(dllimport) public: __thiscall std::bad_cast::bad_cast(char const *)" (__imp_??0bad_cast@std@@QAE@PBD@Z) sin resolver al que se hace referencia en la función "class std::ctype<char> const & __cdecl std::use_facet<class std::ctype<char> >(class std::locale const &)" (??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    30    error LNK2019: símbolo externo __imp__SwitchToThread@0 sin resolver al que se hace referencia en la función "public: void __thiscall tbb::internal::atomic_backoff::pause(void)" (?pause@atomic_backoff@internal@tbb@@QAEXXZ)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    31    error LNK2019: símbolo externo __imp__QueryPerformanceCounter@4 sin resolver al que se hace referencia en la función "public: static class tbb::tick_count __cdecl tbb::tick_count::now(void)" (?now@tick_count@tbb@@SA?AV12@XZ)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    32    error LNK2019: símbolo externo __imp__QueryPerformanceFrequency@4 sin resolver al que se hace referencia en la función "private: static __int64 __cdecl tbb::tick_count::interval_t::ticks_per_second(void)" (?ticks_per_second@interval_t@tick_count@tbb@@CA_JXZ)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    33    error LNK2019: símbolo externo __imp___wassert sin resolver al que se hace referencia en la función "int __cdecl utility::internal::step_function_power2_ladder(int,double)" (?step_function_power2_ladder@internal@utility@@YAHHN@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    34    error LNK2001: símbolo externo "public: __thiscall std::bad_cast::bad_cast(class std::bad_cast const &)" (??0bad_cast@std@@QAE@ABV01@@Z) sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    35    error LNK2001: símbolo externo "public: __thiscall std::exception::exception(class std::exception const &)" (??0exception@std@@QAE@ABV01@@Z) sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    36    error LNK2001: símbolo externo "public: virtual __thiscall std::bad_cast::~bad_cast(void)" (??1bad_cast@std@@UAE@XZ) sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    37    error LNK2001: símbolo externo "public: virtual char const * __thiscall std::exception::what(void)const " (?what@exception@std@@UBEPBDXZ) sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    38    error LNK2019: símbolo externo @__security_check_cookie@4 sin resolver al que se hace referencia en la función "public: static void __cdecl `public: void __thiscall utility::cli_argument_pack::parse(unsigned int,char const * * const)'::`5'::throw_unknown_parameter::_(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?_@throw_unknown_parameter@?4??parse@cli_argument_pack@utility@@QAEXIQAPBD@Z@SAXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    39    error LNK2001: símbolo externo @__security_check_cookie@4 sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\msvcprtd.lib(locale0_implib.obj)    shortpath
Error    40    error LNK2019: símbolo externo __CxxThrowException@8 sin resolver al que se hace referencia en la función "public: static void __cdecl `public: void __thiscall utility::cli_argument_pack::parse(unsigned int,char const * * const)'::`5'::throw_unknown_parameter::_(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?_@throw_unknown_parameter@?4??parse@cli_argument_pack@utility@@QAEXIQAPBD@Z@SAXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    41    error LNK2019: símbolo externo ___CxxFrameHandler3 sin resolver al que se hace referencia en la función __unwindfunclet$?_@throw_unknown_parameter@?4??parse@cli_argument_pack@utility@@QAEXIQAPBD@Z@SAXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z$2    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    42    error LNK2001: símbolo externo ___CxxFrameHandler3 sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\msvcprtd.lib(locale0_implib.obj)    shortpath
Error    43    error LNK2019: símbolo externo ___RTDynamicCast sin resolver al que se hace referencia en la función "public: bool __thiscall tbb::interface7::internal::adaptive_partition_type_base<class tbb::interface7::internal::auto_partition_type>::check_being_stolen(class tbb::task &)" (?check_being_stolen@?$adaptive_partition_type_base@Vauto_partition_type@internal@interface7@tbb@@@internal@interface7@tbb@@QAE_NAAVtask@4@@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    44    error LNK2019: símbolo externo __dtoui3 sin resolver al que se hace referencia en la función "bool __cdecl utility::internal::is_power_of_2<double>(double)" (??$is_power_of_2@N@internal@utility@@YA_NN@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    45    error LNK2019: símbolo externo __ltod3 sin resolver al que se hace referencia en la función "public: static double __cdecl tbb::tick_count::resolution(void)" (?resolution@tick_count@tbb@@SANXZ)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    46    error LNK2001: símbolo externo "const type_info::`vftable'" (??_7type_info@@6B@) sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    47    error LNK2019: símbolo externo ___security_cookie sin resolver al que se hace referencia en la función "public: static void __cdecl `public: void __thiscall utility::cli_argument_pack::parse(unsigned int,char const * * const)'::`5'::throw_unknown_parameter::_(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?_@throw_unknown_parameter@?4??parse@cli_argument_pack@utility@@QAEXIQAPBD@Z@SAXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    48    error LNK2001: símbolo externo ___security_cookie sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\msvcprtd.lib(locale0_implib.obj)    shortpath
Error    49    error LNK2001: símbolo externo __fltused sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
Error    50    error LNK2001: símbolo externo __fltused sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\msvcprtd.lib(locale0_implib.obj)    shortpath
Error    51    error LNK2001: símbolo externo _mainCRTStartup sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\LINK    shortpath
Error    52    error LNK2001: símbolo externo __load_config_used sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\LINK    shortpath
Error    53    error LNK1120: 42 externos sin resolver    C:\Users\Luis\AppData\Local\Temp\tbb_examples\Debug\shortpath.exe    shortpath

 

0 Kudos
1 Solution
Luis_S_
Novice
560 Views

Hello,

Problem solved!

Visual studio created a debug configuration and the project was linking with the release libraries (tbb.lib). I changed the configuration to release and I could compile and ran the example.

View solution in original post

0 Kudos
3 Replies
Vladimir_P_1234567890
560 Views

hello, is this released visual studio 2013 or CTP of Visual Studio 2015? For second one there is CTP 6 availalbe which was released this week.

--Vladimir

0 Kudos
Luis_S_
Novice
560 Views

Hello,

Thank you for your answer, I am using C++ compiler Nov 2013 CTP which includes C++11 features, also I am using VS 2013 express.

I wonder if using the express version is the problem.

Regards.

 

0 Kudos
Luis_S_
Novice
561 Views

Hello,

Problem solved!

Visual studio created a debug configuration and the project was linking with the release libraries (tbb.lib). I changed the configuration to release and I could compile and ran the example.

0 Kudos
Reply