问题:
在vscode中,cmake 和make都能正常通过,但是在最后执行build目录下app.exe文件时出现错误,没有输出预期结果,项目文件树及CMakeLists.txt内容如下图所示:
分析问题:
- 生成的app.exe可执行程序在DDD/build/目录下
- 需要链接的动态库在DDD/lib2目录下
- 虽然在CMakeLists.txt中指定了动态库的文件路径,但这只能让编译时候不报错,在最后执行app.exe时因为app.exe和libcalc.dll不在同一个路径下,所以会找不到动态库文件导致失败
解决办法有两种:
- 将动态库文件.dll和生成的app.exe可执行程序放在同一个目录下,且不能放在同一目录的子目录下,二者必须在同一级目录
- 将.dll动态文件放到系统目录C:\Windows\System32下即可