Это первый плохой коммит. /p>
Код: Выделить всё
cmake -B build \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_TOOLCHAIN_FILE=mingw-w64-x86_64.cmake \
-DBUILD_EXTENSIONS='autocomplete;icu;parquet;json;fts;tpcds;tpch' \
-DENABLE_EXTENSION_AUTOLOADING=1 \
-DENABLE_EXTENSION_AUTOINSTALL=1 \
-DBUILD_UNITTESTS=FALSE \
-DBUILD_SHELL=TRUE \
-DDUCKDB_EXPLICIT_PLATFORM=x86_64-w64-mingw32-cxx11 .
cmake --build build
< /code>
Файл инструментов: < /p>
set(CMAKE_SYSTEM_NAME Windows)
set(TOOLCHAIN_PREFIX x86_64-w64-mingw32)
# cross compilers to use for C, C++ and Fortran
set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc)
set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++)
set(CMAKE_Fortran_COMPILER ${TOOLCHAIN_PREFIX}-gfortran)
set(CMAKE_RC_COMPILER ${TOOLCHAIN_PREFIX}-windres)
# target environment on the build host system
set(CMAKE_FIND_ROOT_PATH /usr/${TOOLCHAIN_PREFIX})
# modify default behavior of FIND_XXX() commands
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
< /code>
Общая библиотека (build/src/libduckdb.dllКод: Выделить всё
$ winedump -j export libduckdb.dll | grep duckdb_vector_size
009F42F0 365 duckdb_vector_size # see this if symbols are present, empty otherwise
< /code>
Выше приведено пусто для библиотеки, построенной после плохих коммита. < /p>
Я прошел через команды сборки, это соответствующий бит (во время Построить, он работает в Build/src Код: Выделить всё
/usr/bin/cmake -E rm -f CMakeFiles/duckdb.dir/objects.a
/usr/bin/x86_64-w64-mingw32-ar qc CMakeFiles/duckdb.dir/objects.a @CMakeFiles/duckdb.dir/objects1.rsp
/usr/lib64/ccache/x86_64-w64-mingw32-g++ -O3 -DNDEBUG -O3 -DNDEBUG -shared -o libduckdb.dll \
-Wl,--out-implib,libduckdb.dll.a -Wl,--major-image-version,0,--minor-image-version,0 -Wl,--whole-archive \
CMakeFiles/duckdb.dir/objects.a -Wl,--no-whole-archive @CMakeFiles/duckdb.dir/linkLibs.rsp
# find the C-API object file
$ tr ' ' '\n'
Для предыдущего коммита (D1EA1538C9 ~) символы экспортируются, как и ожидалось. «Плохой» коммит не делает ничего, кроме добавления 11 новых символов. Я действительно понятия не имею, что вызывает это. Кто -нибудь мысли?
Подробнее здесь: https://stackoverflow.com/questions/794 ... sing-mingw
Мобильная версия