使用cmake生成的vs工程,在运行时,对于涉及的第三方库的dll文件,经常会出现无法找到的情形。一般来说有如下几种方案:
- 将所有的dll文件拷贝到c盘windows文件夹的system32(32位系统)
- 把dll的路径添加到系统环境变量
-
在visual studio中设置环境变量,如图
前两种方法会污染系统设置,很多人不喜欢这么做。第三种方法对于很多个vs工程来说,略显麻烦。能不能在cmake执行阶段就能直接指定路径呢?通过查阅cmake官方说明,发现如下的解决方案:
在cmake中添加如下代码:
set_property(TARGET yourTarget PROPERTY VS_DEBUGGER_WORKING_DIRECTORY "yourPath")
这里yourTarge替换成相应的target,yourPath为需要的dll所在的路径。