Ошибка LNK2005 frexp уже определена в libmmt.lib(frexp_iface_c99.obj) NNExtended D:\NNetworks\Fashion- MNIST\NNExtended\libucrtd.lib(frexp.obj): 1 ". Просматривая журнал компоновщика, вы можете увидеть
Код: Выделить всё
Found _decomp
Referenced in libucrtd.lib(fpexcept.obj)
Loaded libucrtd.lib(frexp.obj)
libucrtd.lib(frexp.obj) : : error LNK2005: frexp already defined in libmmt.lib(frexp_iface_c99.obj)
frexp действительно находится в символах, экспортированных Intel libmmt.lib
Код: Выделить всё
PS D:\> dumpbin.exe /symbols "C:\Program Files (x86)\Intel\oneAPI\compiler\latest\lib\libmmt.lib" | Select-String "frexp"
008 00000000 SECT4 notype () External | __frexpq
frexpq.c
008 00000000 SECT4 notype () External | frexpf16
010 00000000 UNDEF notype External | frexpf
00B 00000000 SECT5 notype () External | __libm_frexpl_ex
frexpl.c
008 00000000 SECT4 notype () External | __libm_frexpf_ex
frexpf.c
008 00000000 SECT4 notype () External | __libm_frexp_e7
frexp_ct.c
00B 00000000 SECT5 notype () External | __libm_frexp_ex
frexp_gen.c
03C 00000000 UNDEF notype External | __libm_frexpl
050 00000000 SECT1C notype () External | __bwr_frexpf
0AE 00000000 UNDEF notype External | __libm_frexpf_ex
00B 00000000 SECT5 notype () External | __bwr_frexp
frexp_bwr.c
008 00000000 SECT4 notype () External | frexpl
010 00000000 UNDEF notype External | __libm_frexpl_ex
008 00000000 SECT4 notype () External | __libm_frexpl
010 00000000 UNDEF notype External | __libm_frexpl_ex
008 00000000 SECT4 notype () External | frexpf
00C 00000000 UNDEF notype External | __libm_frexpf_ex
008 00000000 SECT4 notype () External | __libm_frexpf
00C 00000000 UNDEF notype External | __libm_frexpf_ex
008 00000000 SECT4 notype () External | frexp
00C 00000000 UNDEF notype External | __libm_frexp_chosen_core_func_icx
008 00000000 SECT4 notype () Static | __libm_frexp_dispatch_table_icx_init_icx
00D 00000000 SECT5 notype () External | __libm_frexp
017 00000000 SECT6 notype Static | __libm_frexp_dispatch_table_icx
018 00000000 SECT2 notype External | __libm_frexp_chosen_core_func_icx
019 00000000 UNDEF notype External | __libm_frexp_ex
01A 00000000 UNDEF notype External | __libm_frexp_e7
Код: Выделить всё
PS D:\> dumpbin.exe /symbols "C:\Program Files (x86)\Windows Kits\10\Lib\10.0.26100.0\ucrt\x64\libucrtd.lib" | Select-String "frexp"
11B 00000000 SECT59 notype External | ??_C@_05GKKHEGJL@frexp@ (`string')
04A 00000000 SECT19 notype () External | frexp
059 00000000 SECT1D notype Static | $unwind$frexp
05C 00000000 SECT1E notype Static | $pdata$frexp
Код: Выделить всё
/MP /GS /TP /Wall /QxCOMMON-AVX512 /Gy /Zc:wchar_t /guard:cf /Zi /Od /debug:full /Ob0 /fp:precise /D "_DEBUG" /D "_CONSOLE" /D "__TEST__" /D "__INTEL_LLVM_COMPILER=20240200" /D "_UNICODE" /D "UNICODE" /fp:except /Zc:forScope /std:c17 /GR- /arch:AVX512 /MTd /QaxCOMMON-AVX512 /std:c++20 /Fa".\bin\Test\" /EHa /nologo /Fo".\bin\Test\" /Qstd=c++2a /Ot
Код: Выделить всё
/OUT:".\bin\Test\NNExtended.exe" /MANIFEST /NXCOMPAT /PDB:".\bin\Test\NNExtended.pdb" /DYNAMICBASE "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" /DEBUG:FULL /MACHINE:X64 /INCREMENTAL /SUBSYSTEM:CONSOLE /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:".\bin\Test\NNExtended.exe.intermediate.manifest" /ILK:".\bin\Test\NNExtended.ilk" /NOLOGO /VERBOSE /TLBID:1
- Пытался удалить libucrtd.lib из флага компоновщика /DEFAULTLIBS, но это порождает массу неразрешенных внешних ошибок.
- Пробовал использовать Visual C++, компиляция работает нормально. Проблема возникает только с Intel ICX!
- Связывание с ICX происходит успешно, когда я выбираю динамическое связывание с /MDd, но не удается со статическим связыванием /MTd!
- В руководстве по компилятору Intel oneAPI C/C++ указано, что компиляторы Intel используют один и тот же файл libmmt.lib для статического связывания как в конфигурациях отладки, так и в конфигурациях выпуска с /MT и /MTd. Но предоставляет две отдельные библиотеки libmmd.lib и libmmdd.lib для конфигураций /MD и /MDd! (Страница 382)
Подробнее здесь: https://stackoverflow.com/questions/786 ... p-iface-c9