huanrenfeng/7zipDarkmode

NMAKE : fatal error U1077

Closed this issue · 2 comments

Hello there,
I've tried this with both 18.06 and 19.00, Visual Studio Community 2019 and the most recent detours. I've build the latter as

msbuild detours.sln /p:Configuration=Release /p:CallingConvention=/Gr
and copied the resulting
detours\Win32\Release\detours.lib to E:\Downloads\7zip_src\CPP\7zip\Bundles\Fm according to your readme. I also checked the additional links

E:\Downloads\7zip_src\CPP\7zip\Bundles\Fm>nmake NEW_COMPILER=1 MY_STATIC_LINK=1  
Microsoft (R) Program Maintenance Utility Version 14.27.29112.0  
Copyright (C) Microsoft Corporation.  All rights reserved.  
cl   -DLANG  -DNEW_FOLDER_INTERFACE -DWIN_LONG_PATH -DSUPPORT_DEVICE_FILE  -DLANG  -DNEW_FOLDER_INTERFACE -DWIN_LONG_PATH -DSUPPORT_DEVICE_FILE -DUNICODE -D_UNICODE -Gr -nologo -c -Foo/ -W4 -WX -EHsc -Gy -GR- -GF /std:c++17 /Wv:18 -MT -GS- -Zc:forScope -Zc:wchar_t -MP2 -O1 ../../UI/FileManager\FM.cpp                   FM.cpp  
../../UI/FileManager\FM.cpp(696): error C3861: 'My_SetDefaultDllDirectories': identifier not found  
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX86\x86\cl.EXE"' : return code '0x2'   Stop.  

The issue here seems to be that My_SetDefaultDllDirectories(); isn't found. Okay, so maybe x86 is the issue. I tried compiling detours as x64:

detours.lib : warning LNK4272: library machine type 'x64' conflicts with target machine type 'x86'  
o\7zFM.exe : fatal error LNK1120: 2 unresolved externals  
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX86\x86\link.EXE"' : return code '0x460'               

Not that either, let's try commenting it out:

(I ran all commands both with NEW_COMPILER=1 MY_STATIC_LINK=1 according to ski-epic and without according to you)

Microsoft (R) Program Maintenance Utility Version 14.27.29112.0  
Copyright (C) Microsoft Corporation.  All rights reserved.  
link  /DELAYLOAD:mpr.dll -nologo -OPT:REF -OPT:ICF /LARGEADDRESSAWARE /FIXED:NO -out:o\7zFM.exe o\StdAfx.obj    o\CRC.obj  o\CrcReg.obj  o\DynLimBuf.obj  o\IntToString.obj  o\MyMap.obj  o\MyString.obj  o\MyVector.obj  o\MyXml.obj  o\NewHandler.obj  o\Sha1Reg.obj  o\Sha256Reg.obj  o\StringConvert.obj  o\StringToInt.obj  o\UTFConvert.obj  o\Wildcard.obj  o\XzCrc64Init.obj  o\XzCrc64Reg.obj  o\CommandLineParser.obj  o\Lang.obj  o\ListFileUtils.obj  o\Random.obj  o\FileDir.obj  o\FileFind.obj  o\FileIO.obj  o\FileName.obj  o\PropVariant.obj  o\PropVariantUtils.obj  o\Synchronization.obj  o\System.obj  o\TimeUtils.obj  o\FileSystem.obj  o\Net.obj  o\SecurityUtils.obj  o\Clipboard.obj  o\CommonDialog.obj  o\DLL.obj  o\ErrorMsg.obj  o\FileLink.obj  o\MemoryGlobal.obj  o\MemoryLock.obj  o\Menu.obj  o\ProcessUtils.obj  o\PropVariantConv.obj  o\Registry.obj  o\ResourceString.obj  o\Shell.obj  o\Window.obj  o\ComboBox.obj  o\Dialog.obj  o\ListView.obj  o\PropertyPage.obj  o\Window2.obj  o\CreateCoder.obj  o\CWrappers.obj  o\InBuffer.obj  o\InOutTempBuffer.obj  o\FilterCoder.obj  o\LimitedStreams.obj  o\LockedStream.obj  o\MemBlocks.obj  o\MethodId.obj  o\MethodProps.obj  o\OffsetStream.obj  o\OutBuffer.obj  o\OutMemStream.obj  o\ProgressMt.obj  o\ProgressUtils.obj  o\PropId.obj  o\StreamBinder.obj  o\StreamObjects.obj  o\StreamUtils.obj  o\UniqBlocks.obj  o\VirtThread.obj  o\FilePathAutoRename.obj  o\FileStreams.obj  o\ApmHandler.obj  o\ArHandler.obj  o\ArjHandler.obj  o\Bz2Handler.obj  o\ComHandler.obj  o\CpioHandler.obj  o\CramfsHandler.obj  o\DeflateProps.obj  o\DmgHandler.obj  o\ElfHandler.obj  o\ExtHandler.obj  o\FatHandler.obj  o\FlvHandler.obj  o\GzHandler.obj  o\GptHandler.obj  o\HandlerCont.obj  o\HfsHandler.obj  o\IhexHandler.obj  o\LzhHandler.obj  o\LzmaHandler.obj  o\MachoHandler.obj  o\MbrHandler.obj  o\MslzHandler.obj  o\MubHandler.obj  o\NtfsHandler.obj  o\PeHandler.obj  o\PpmdHandler.obj  o\QcowHandler.obj  o\RpmHandler.obj  o\SplitHandler.obj  o\SquashfsHandler.obj  o\SwfHandler.obj  o\UefiHandler.obj  o\VdiHandler.obj  o\VhdHandler.obj  o\VmdkHandler.obj  o\XarHandler.obj  o\XzHandler.obj  o\ZHandler.obj  o\CoderMixer2.obj  o\DummyOutStream.obj  o\FindSignature.obj  o\InStreamWithCRC.obj  o\ItemNameUtils.obj  o\MultiStream.obj  o\OutStreamWithCRC.obj  o\OutStreamWithSha1.obj  o\HandlerOut.obj  o\ParseProperties.obj  o\ArchiveExtractCallback.obj  o\ArchiveName.obj  o\ArchiveOpenCallback.obj  o\Bench.obj  o\CompressCall2.obj  o\DefaultName.obj  o\EnumDirItems.obj  o\Extract.obj  o\ExtractingFilePath.obj  o\HashCalc.obj  o\LoadCodecs.obj  o\OpenArchive.obj  o\PropIDUtils.obj  o\SetProperties.obj  o\SortUtils.obj  o\TempFiles.obj  o\Update.obj  o\UpdateAction.obj  o\UpdateCallback.obj  o\UpdatePair.obj  o\UpdateProduce.obj  o\WorkDir.obj  o\ZipRegistry.obj  o\Agent.obj  o\AgentOut.obj  o\AgentProxy.obj  o\ArchiveFolder.obj  o\ArchiveFolderOpen.obj  o\ArchiveFolderOut.obj  o\UpdateCallbackAgent.obj    o\ContextMenu.obj  o\MyMessages.obj  o\RegistryContextMenu.obj  o\App.obj  o\BrowseDialog.obj  o\ClassDefs.obj  o\EnumFormatEtc.obj  o\ExtractCallback.obj  o\FileFolderPluginOpen.obj  o\FilePlugins.obj  o\FM.obj  o\FoldersPage.obj  o\FormatUtils.obj  o\FSFolder.obj  o\FSFolderCopy.obj  o\HelpUtils.obj  o\LangUtils.obj  o\MenuPage.obj  o\MyLoadMenu.obj  o\OpenCallback.obj  o\OptionsDialog.obj  o\Panel.obj  o\PanelCopy.obj  o\PanelCrc.obj  o\PanelDrag.obj  o\PanelFolderChange.obj  o\PanelItemOpen.obj  o\PanelItems.obj  o\PanelKey.obj  o\PanelListNotify.obj  o\PanelMenu.obj  o\PanelOperations.obj  o\PanelSelect.obj  o\PanelSort.obj  o\PanelSplitFile.obj  o\ProgramLocation.obj  o\PropertyName.obj  o\RegistryAssociations.obj  o\RegistryPlugins.obj  o\RegistryUtils.obj  o\RootFolder.obj  o\SplitUtils.obj  o\StringUtils.obj  o\SysIconUtils.obj  o\TextPairs.obj  o\UpdateCallback100.obj  o\ViewSettings.obj  o\AboutDialog.obj  o\ComboDialog.obj  o\CopyDialog.obj  o\EditDialog.obj  o\EditPage.obj  o\LangPage.obj  o\ListViewDialog.obj  o\MessagesDialog.obj  o\OverwriteDialog.obj  o\PasswordDialog.obj  o\ProgressDialog2.obj  o\SettingsPage.obj  o\SplitDialog.obj  o\SystemPage.obj  o\Darkmode.obj  o\IatHook.obj  o\EditorUIDarkMode.obj  o\AltStreamsFolder.obj  o\FSDrives.obj  o\LinkDialog.obj  o\NetFolder.obj  o\BenchmarkDialog.obj  o\CompressDialog.obj  o\ExtractDialog.obj  o\ExtractGUI.obj  o\HashGUI.obj  o\UpdateCallbackGUI.obj  o\UpdateCallbackGUI2.obj  o\UpdateGUI.obj  o\7zCompressionMode.obj  o\7zDecode.obj  o\7zEncode.obj  o\7zExtract.obj  o\7zFolderInStream.obj  o\7zHandler.obj  o\7zHandlerOut.obj  o\7zHeader.obj  o\7zIn.obj  o\7zOut.obj  o\7zProperties.obj  o\7zSpecStream.obj  o\7zUpdate.obj  o\7zRegister.obj  o\CabBlockInStream.obj  o\CabHandler.obj  o\CabHeader.obj  o\CabIn.obj  o\CabRegister.obj  o\ChmHandler.obj  o\ChmIn.obj    o\IsoHandler.obj  o\IsoHeader.obj  o\IsoIn.obj  o\IsoRegister.obj  o\NsisDecode.obj  o\NsisHandler.obj  o\NsisIn.obj  o\NsisRegister.obj  o\RarHandler.obj  o\Rar5Handler.obj  o\TarHandler.obj  o\TarHandlerOut.obj  o\TarHeader.obj  o\TarIn.obj  o\TarOut.obj  o\TarUpdate.obj  o\TarRegister.obj  o\UdfHandler.obj  o\UdfIn.obj  o\WimHandler.obj  o\WimHandlerOut.obj  o\WimIn.obj  o\WimRegister.obj  o\ZipAddCommon.obj  o\ZipHandler.obj  o\ZipHandlerOut.obj  o\ZipIn.obj  o\ZipItem.obj  o\ZipOut.obj  o\ZipUpdate.obj  o\ZipRegister.obj  o\Bcj2Coder.obj  o\Bcj2Register.obj  o\BcjCoder.obj  o\BcjRegister.obj  o\BitlDecoder.obj  o\BranchMisc.obj  o\BranchRegister.obj  o\ByteSwap.obj  o\BZip2Crc.obj  o\BZip2Decoder.obj  o\BZip2Encoder.obj  o\BZip2Register.obj  o\CopyCoder.obj  o\CopyRegister.obj  o\Deflate64Register.obj  o\DeflateDecoder.obj  o\DeflateEncoder.obj  o\DeflateRegister.obj  o\DeltaFilter.obj  o\ImplodeDecoder.obj  o\LzfseDecoder.obj  o\LzhDecoder.obj  o\Lzma2Decoder.obj  o\Lzma2Encoder.obj  o\Lzma2Register.obj  o\LzmaDecoder.obj  o\LzmaEncoder.obj  o\LzmaRegister.obj  o\LzmsDecoder.obj  o\LzOutWindow.obj  o\LzxDecoder.obj  o\PpmdDecoder.obj  o\PpmdEncoder.obj  o\PpmdRegister.obj  o\PpmdZip.obj  o\QuantumDecoder.obj  o\Rar1Decoder.obj  o\Rar2Decoder.obj  o\Rar3Decoder.obj  o\Rar3Vm.obj  o\Rar5Decoder.obj  o\RarCodecsRegister.obj  o\ShrinkDecoder.obj  o\XpressDecoder.obj  o\XzDecoder.obj  o\XzEncoder.obj  o\ZlibDecoder.obj  o\ZlibEncoder.obj  o\ZDecoder.obj  o\7zAes.obj  o\7zAesRegister.obj  o\HmacSha1.obj  o\HmacSha256.obj  o\MyAes.obj  o\MyAesReg.obj  o\Pbkdf2HmacSha1.obj  o\RandGen.obj  o\Rar20Crypto.obj  o\Rar5Aes.obj  o\RarAes.obj  o\WzAes.obj  o\ZipCrypto.obj  o\ZipStrong.obj  o\7zBuf2.obj  o\7zStream.obj  o\Alloc.obj  o\Bcj2.obj  o\Bcj2Enc.obj  o\Blake2s.obj  o\Bra.obj  o\Bra86.obj  o\BraIA64.obj  o\BwtSort.obj  o\CpuArch.obj  o\Delta.obj  o\HuffEnc.obj  o\LzFind.obj  o\LzFindMt.obj  o\Lzma2Dec.obj  o\Lzma2DecMt.obj  o\Lzma2Enc.obj  o\LzmaDec.obj  o\LzmaEnc.obj  o\MtCoder.obj  o\MtDec.obj  o\Ppmd7.obj  o\Ppmd7Dec.obj  o\Ppmd7Enc.obj  o\Ppmd8.obj  o\Ppmd8Dec.obj  o\Ppmd8Enc.obj  o\Sha1.obj  o\Sha256.obj  o\Sort.obj  o\Threads.obj  o\Xz.obj  o\XzDec.obj  o\XzEnc.obj  o\XzIn.obj  o\Aes.obj  o\7zCrc.obj  o\XzCrc64.obj  o\DllSecur.obj    o\AesOpt.obj  o\7zCrcOpt.obj  o\XzCrc64Opt.obj  o\resource.res  comctl32.lib htmlhelp.lib comdlg32.lib Mpr.lib Gdi32.lib comctl32.lib htmlhelp.lib comdlg32.lib Mpr.lib Gdi32.lib delayimp.lib oleaut32.lib ole32.lib user32.lib advapi32.lib shell32.lib  
FM.obj : error LNK2019: unresolved external symbol "unsigned int __fastcall Detours::IATHook(unsigned int,char const *,char const *,unsigned int)" (?IATHook@Detours@@YIIIPBD0I@Z) referenced in function "int __stdcall WinMain2(int)" (?WinMain2@@YGHH@Z)  
FM.obj : error LNK2019: unresolved external symbol "unsigned int __fastcall Detours::IATDelayedHook(unsigned int,char const *,char const *,unsigned int)" (?IATDelayedHook@Detours@@YIIIPBD0I@Z) referenced in function "int __stdcall WinMain2(int)" (?WinMain2@@YGHH@Z)  
o\7zFM.exe : fatal error LNK1120: 2 unresolved externals  
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX86\x86\link.EXE"' : return code '0x460'  
Stop.                                                                                                                                                                                                                                                                                                                                   E:\Downloads\7zip_src\CPP\7zip\Bundles\Fm>  

... I'm at the end of my depth. Any ideas how I could resolve this?
I'd very much love to have a dark 7zip.

Don't need NEW_COMPILER=1 and MY_STATIC_LINK=1. And I used 7zip 19.

Anyway, you just had some compiling issue. Why now download my compiled file directly?

https://github.com/renfenghuan/7zipDarkmode/releases

Because I stuck to the readme :D Thank you