Yibo Cai created ARROW-14405:
--------------------------------
Summary: [C++] Fix build error from clang for windows
Key: ARROW-14405
URL: https://issues.apache.org/jira/browse/ARROW-14405
Project: Apache Arrow
Issue Type: Bug
Components: C++
Reporter: Yibo Cai
Assignee: Yibo Cai
Met with the errors when reviewing
[PR|http://example.com]https://github.com/apache/arrow/pull/11383] to enable
arrow above Windows on Arm64.
Looks the issue is related to clang for windows, not arm. So I create a
separated jira.
Some error logs:
{code:bash}
FAILED: debug/arrow-scalar-test.exe
.......
LINK Pass 1: command "C:\Users\linux\llvm-package\bin\lld-link.exe /nologo
src\arrow\CMakeFiles\arrow-scalar-test.dir\scalar_test.cc.obj
/out:debug\arrow-scalar-test.exe /implib:debug\arrow-scalar-test.lib
/pdb:debug\arrow-scalar-test.pdb /version:0.0 /machine:ARM64
/NODEFAULTLIB:LIBCMT /debug /INCREMENTAL /subsystem:console
debug\arrow_testing.lib debug\arrow.lib
utf8proc_ep-install\lib\utf8proc_static.lib re2_ep-install\lib\re2.lib
googletest_ep-prefix\lib\gtest_maind.lib googletest_ep-prefix\lib\gtestd.lib
googletest_ep-prefix\lib\gmockd.lib
boost_ep-prefix\src\boost_ep\stage\lib\libboost_filesystem-vc142-mt-gd-x64-1_75.lib
boost_ep-prefix\src\boost_ep\stage\lib\libboost_system-vc142-mt-gd-x64-1_75.lib
ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib
oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST
/MANIFESTFILE:src\arrow\CMakeFiles\arrow-scalar-test.dir/intermediate.manifest
src\arrow\CMakeFiles\arrow-scalar-test.dir/manifest.res" failed (exit code 1)
with the following output:
lld-link: error: undefined symbol: __declspec(dllimport) public: __cdecl
arrow::DateScalar<class arrow::Date32Type>::DateScalar<class
arrow::Date32Type>(int)
>>> referenced by C:\Users\linux\arrow\cpp\src\arrow\scalar.h:320
>>>
>>> src\arrow\CMakeFiles\arrow-scalar-test.dir\scalar_test.cc.obj:(public:
>>> __cdecl arrow::Date32Scalar::Date32Scalar(int))
>>> referenced by C:\Users\linux\arrow\cpp\src\arrow\scalar.h:320
>>>
>>> src\arrow\CMakeFiles\arrow-scalar-test.dir\scalar_test.cc.obj:(public:
>>> __cdecl arrow::Date32Scalar::Date32Scalar(int))
lld-link: error: undefined symbol: __declspec(dllimport) public: __cdecl
arrow::DateScalar<class arrow::Date64Type>::DateScalar<class
arrow::Date64Type>(__int64)
>>> referenced by C:\Users\linux\arrow\cpp\src\arrow\scalar.h:324
>>>
>>> src\arrow\CMakeFiles\arrow-scalar-test.dir\scalar_test.cc.obj:(public:
>>> __cdecl arrow::Date64Scalar::Date64Scalar(__int64))
>>> referenced by C:\Users\linux\arrow\cpp\src\arrow\scalar.h:324
>>>
>>> src\arrow\CMakeFiles\arrow-scalar-test.dir\scalar_test.cc.obj:(public:
>>> __cdecl arrow::Date64Scalar::Date64Scalar(__int64))
ninja: build stopped: subcommand failed.
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)