【问题标题】:Compiling Error Sandboxie Open Source v5.40编译错误 Sandboxie Open Source v5.40
【发布时间】:2020-06-16 11:36:35
【问题描述】:

您好,我正在尝试编译 Sandboxie v5.40

我有 VS 2015

我有带有构建环境的 MS Windows 设备驱动程序工具包 (DDK) 7.1.0

我已经设置了一些调试选项和符号模块

我必须按字母顺序编译解决方案。他们在读我时提到过,但是除了 3 个解决方案

  1. KmdUtil 2. SboxSvc 3. SbieDll

这些一定要先研究

但是当我来到 SboxDrv 时,我得到了这个错误

1> process.obj: error LNK2001: unresolved external symbol _memcmp 1> C:\Users\dark\Desktop\sandboxie-master\Bin\Win32\SbieDebug\SbieDrv.sys: 致命错误LNK1120: 1 unresolved externals == === ===== 构建:0 成功,1 失败,2 最新,0 跳过 ==========

我尝试了一些解决方案,但无论我尝试什么,我仍然收到此错误

我该如何解决?

【问题讨论】:

    标签: debugging visual-c++ visual-studio-2015 compiler-errors sandbox


    【解决方案1】:

    1> process.obj: 错误 LNK2001: 无法解析的外部符号 _memcmp 1> C:\Users\dark\Desktop\sandboxie-master\Bin\Win32\ SbieDebug \ SbieDrv.sys: 致命错误 LNK1120: 1 unresolved externals

    请试试这个解决方案:

    解决方案

    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\vcruntime.lib复制到Additional Dependencies(项目右键-->Properties-->Linker-->Input-->Additional Dependencies

    =======================================

    PS

    如果你的操作系统不是win10,可以忽略。

    如果你的OS是win10,我建议你可以install WDK for Windows 10,然后将C:\Program Files (x86)\Windows Kits\10\Lib\10.0.xxx.0\ucrt\x86\ucrt.lib复制到Additional Dependencies中,以防你的项目使用CRT Library

    更新 1

    请右击SdoxDrv-->Properties-->Linker-->Input-->Additional Dependencies。

    输入这个:

    然后点击确定,然后右键点击项目SdoxDrv-->先点击clean,再点击Build

    这会导致我这边出现任何错误。

    【讨论】:

    • 我有win10 我已经添加了vcruntime.lib 但是这次弹出这个错误 1>process.obj : error LNK2001: unresolved external symbol _memcmp 1>C:\Users\dark\Desktop\sandboxie- master\Bin\Win32\SbieDebug\SbieDrv.sys : 致命错误 LNK1120: 1 未解决的外部 ========== 构建: 2 成功, 1 失败, 0 最新, 0 跳过 ==== ======
    • 是的,我已经添加了它们,但它给出了相同的错误,但我没有清理它,但继续如此清理解决了我的问题,但这次我在 SbieSvc 中的 0x00007FFE346C3E49 (KernelBase.dll) 处抛出异常.exe:0x00000005:访问被拒绝”。调试或构建时出现问题
    • 或者你可以标记这个答案,然后创建一个关于visual studio-debugging issue的问题,然后我们可以花相关的时间来解决你的问题。
    • 是的,我已标记,是的,我以管理员身份运行它,但仍然遇到这个问题,我尝试了 regsvr32 KERNELBASE.dll 这个和你提到的文档,但是我不断收到“模块”kernelbase.dll“已加载但未找到入口点 DIIRegisterServer。请确保“kernelbase.dll”是有效的 DLL 或 OCX 文件,然后重试。”这个错误
    • 对于这个另一个范围问题,您可以检查this thread
    猜你喜欢
    • 2022-08-15
    • 2010-09-11
    • 2014-10-14
    • 2017-07-27
    • 2014-06-17
    • 2016-07-14
    • 1970-01-01
    • 2017-10-05
    • 1970-01-01
    相关资源
    最近更新 更多