-
Notifications
You must be signed in to change notification settings - Fork 45
Description
Hello,
I understand this project has probably only been tested on Linux, but all the dependent libraries are also available on Windows. My environment is Visual Studio 2015 Win64 on Windows 10. I apply it to CMake commands and create VC projects. I build this for CURFIL and therefore I build only an extraction of ndarray. I can build the ndarray.lib successfully, but I cannot resolve the numerous linking errors while building allocators_test and ndarray_test of LNK2019:
Severity Code Description Project File Line Suppression State
Error LNK2019 unresolved external symbol "public: __cdecl cuv::pooled_cuda_allocator::pooled_cuda_allocator(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0pooled_cuda_allocator@cuv@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function "void __cdecl allocators_test::test_pooled_allocator<struct cuv::dev_memory_space>(void)" (??$test_pooled_allocator@Udev_memory_space@cuv@@@allocators_test@@YAXXZ) allocators_test D:\ndarray-master\build8\src\tests\allocators_test.obj 1
I don't think it is an OS-related issue, rather an incorrect setup for the linker. Here is the list of input for the linker:
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
comdlg32.lib
advapi32.lib
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64\cudart_static.lib
C:\Boost\lib\vc14\x64\libboost_unit_test_framework-vc140-mt-gd-1_64.lib
C:\Boost\lib\vc14\x64\libboost_serialization-vc140-mt-gd-1_64.lib
C:\Boost\lib\vc14\x64\libboost_system-vc140-mt-gd-1_64.lib
C:\Program Files\Intel\TBB\lib\intel64\vc14\tbb_debug.lib
C:\Program Files\Intel\TBB\lib\intel64\vc14\tbbmalloc.lib
..\cuv\Debug\ndarray.lib
I have been stuck for more than a week. I'd heartily appreciate it f anyone has an idea about this or has more knowledge about linking to share.
Cheers,
ifeng