我有一个托管exe调用托管dll,都是用c编写的,并使用vs2010 c ++编译。
当我运行程序时,我收到程序无法启动的错误,因为我的计算机中缺少dll。 在链接器中,在Linker-> Input-> Additional dependencies下,我添加了包含dll lib的文件夹。此外,在Linker-> General部分中,我列出了其他包含库下的文件夹。
我无能为力......
答案 0 :(得分:1)
问题是dll与执行.exe的目录不在同一个目录中。但是,由于我不想每次都手动复制dll,并且因为它被其他.exes使用,所以更好的解决方案是添加一个构建后事件。
另一个重要的注意事项:由于害怕因为问一个糟糕的问题而被另一个-1弄错了,我花了几个小时才想出制作这样一个构建后版本所需的魔法药水/咒语。这里是。请注意宏的使用,/ Y,尤其是每个路径名的整个混乱的引号。
xcopy /Y "$(SolutionDir)x64\Release\mcDll.dll" "$(SolutionDir)stream\x64\Release"