Disable ZXing size optimization for MinGW GCC string link issue
This commit is contained in:
1 parent
1b1e76a2b4
commit
43e5b8e22e
2 files changed
+13
-1
No files matched your search
@@ -3,6 +3,15 @@
|
||||
Сюда пишется список задач с короткой аннотацией. Если задача большая и имеет ТЗ - то ТЗ оформляется отдельным файлом, а сюда помещается аннотация и ссылка на ТЗ.
|
||||
|
||||
## Текущая задача
|
||||
[ ] **ChatGUI Windows: проверка линковки ZXing без -Os** — 05.10.2026:
|
||||
после удаления старых DLL и чистой сборки линкер не находит move-конструктор
|
||||
`std::string` в `libZXing.a(Barcode.cpp.obj)`. ZXing задаёт этому файлу -Os;
|
||||
такая ошибка описана в https://github.com/msys2/MINGW-packages/issues/31015.
|
||||
Для MinGW GCC отключён пофайловый -Os; используются флаги выбранного типа сборки.
|
||||
Проверена генерация команд: при MinGW+GNU Barcode.cpp получает -O3 без -Os,
|
||||
Linux сохраняет прежний -Os. Компиляция Barcode.cpp на Linux прошла.
|
||||
Требуется Windows-проверка обычным `tools/chatgui/build.bat`.
|
||||
|
||||
[ ] **ChatGUI Windows: подтверждение обновления runtime компилятора** — 05.10.2026:
|
||||
`cc-probe.log`: cc1 запускается из корня, но в `tools/chatgui/build` завершается
|
||||
с `0xC0000139`; локальные DLL GCC/math/runtime отличаются от UCRT64.
|
||||
|
||||
@@ -677,7 +677,10 @@ if (NOT ZXING_DISABLE_PCH)
|
||||
target_precompile_headers(ZXing PRIVATE ${PRECOMPILE_HEADERS})
|
||||
endif()
|
||||
|
||||
if(CMAKE_BUILD_TYPE MATCHES "Release|RelWithDebInfo")
|
||||
# MinGW GCC с -Os даёт ошибку линковки move-конструктора std::string (MSYS2 #31015).
|
||||
if(MINGW AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
message(STATUS "ZXing: per-source -Os disabled for MinGW GCC (MSYS2 #31015)")
|
||||
elseif(CMAKE_BUILD_TYPE MATCHES "Release|RelWithDebInfo")
|
||||
# The following is a list of translation units that fulfill two criteria regarding the use of -Os vs -O3:
|
||||
# 1. their binary size decreases significantly
|
||||
# 2. the runtime of ReaderTest is not (measurably) affected
|
||||
|
||||
Reference in new issue
Block a user