Visual Studio中Crypto++ SHA3类成员LNK2001/LNK2019链接错误求助
二、VS下实现类似
make install的DLL批量复制功能 VS没有原生的make install命令,但可以通过两种方式实现自动复制DLL到目标目录:
1. 后期生成事件自动复制到项目输出目录
如果你想每次编译项目时,自动把DLL复制到当前项目的Debug/Release输出文件夹,可以这么做:
- 打开项目属性 → 生成事件 → 后期生成事件 → 命令行,输入复制命令:
比如你的Crypto++编译产物在copy "$(SolutionDir)路径\到\cryptoppd.dll" "$(OutDir)" /YSolutionDir\cryptopp\x64\Debug下,就写成:copy "$(SolutionDir)cryptopp\x64\Debug\cryptoppd.dll" "$(OutDir)" /Y/Y参数是自动覆盖已有文件,避免每次弹出确认框。如果有多个DLL,用xcopy批量复制:xcopy "$(SolutionDir)cryptopp\x64\Debug\*.dll" "$(OutDir)" /Y
2. 自定义批处理实现“全局安装”
如果你想把DLL复制到一个公共目录(比如C:\Program Files\MyLibs\bin),像make install那样让所有项目都能调用,可以:
- 新建一个
install_dlls.bat批处理文件,内容如下:@echo off set PUBLIC_DIR=C:\Program Files\MyLibs\bin :: 如果公共目录不存在就创建 if not exist "%PUBLIC_DIR%" mkdir "%PUBLIC_DIR%" :: 复制Debug和Release版本的DLL copy "cryptopp\x64\Debug\cryptoppd.dll" "%PUBLIC_DIR%" /Y copy "cryptopp\x64\Release\cryptopp.dll" "%PUBLIC_DIR%" /Y - 运行这个批处理,就会把DLL复制到公共目录。记得把这个公共目录添加到系统的
Path环境变量里,这样程序运行时能自动找到DLL。
内容的提问来源于stack exchange,提问作者Dark Sorrow
相关产品推荐
相关产品推荐

