salamanderMH
V2EX  ›  问与答

VS 2105 编译的 dll,在其他电脑上不能使用?

  •  
  •   salamanderMH · Nov 17, 2019 · 1809 views
    This topic created in 2370 days ago, the information mentioned may be changed or developed.

    问题

    VC++写了个 dll 给 C#用,在其他电脑上用的时候发现无法找到 dll,我也装了 VC 2015 的 Runtime 了,可是还是报错,这是缺了什么呢?

    Supplement 1  ·  Nov 18, 2019
    2105 是写错了,妈的,应该是 2015。
    6 replies    2019-11-18 10:54:37 +08:00
    benson458
        1
    benson458  
       Nov 17, 2019 via iPhone
    编的 debug 版?
    si
        2
    si  
       Nov 17, 2019
    好像 debug 用的库和 release 的不一样,你看看是不是这个原因。
    或者用 depends 看看用到的 DLL 有没有缺少。
    anyele
        3
    anyele  
       Nov 17, 2019
    用 release 发布
    cjw1115
        4
    cjw1115  
       Nov 17, 2019   ❤️ 1
    了解下这篇文章
    https://docs.microsoft.com/en-us/cpp/build/reference/md-mt-ld-use-run-time-library?view=vs-2019

    vs code generation 里面的 runtime library 在 release 的时候,最好配置成 /MT
    tangmanger
        5
    tangmanger  
       Nov 18, 2019
    大概率有可能,我之前有遇到过,VS2010 编译的项目,copy 到只有 VS2013 的环境上 缺少某个 dll 导致应用崩溃的,你可以看看,可以看看系统日志是否有报错,另外可以用 depends 来查看 你编译后的 dll 的依赖,ps:提醒楼上,VS2015==Visual Studio 2015
    salamanderMH
        6
    salamanderMH  
    OP
       Nov 18, 2019
    @anyele @cjw1115 感谢,确实是没有用 release 的缘故, /MT 我也配置了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   915 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 20:46 · PVG 04:46 · LAX 13:46 · JFK 16:46
    ♥ Do have faith in what you're doing.