一种将cmake编译成VS项目后更改绝对路径的方法和直接编译cmake程序的尝试

时间:2022-11-27 16:18:09

最近遇到一个库函数libopencad,由cmake编译,但是编译出来的VS项目都是绝对路径,放到其他电脑上就无法运行了,会报出"D:\xxxx\xxxx.vcxproj : error : 无法读取项目文件“xxxx.csproj”和“D:\xxxx\xxxx.vcxproj( ): 未找到导入的项目“C:…..\xxxx.tprops”的错误,于是如果项目比较小的话就可以考虑一个一个将cxproj里面的绝对路径改成“..\”形式,但是当cxproj文件较大时,就只有果断放弃了。

接着就是提出我的解决方案,首先由于我的项目是C++的。所以首先将Cmake压缩包里面所以得.h和.cpp文件放到一个文件夹里面,取名叫include.接着如果之前就用Cmake编译过,并且在VS上成功生成.lib文件的话就将这些文件放到一个新文件夹里面取名叫lib.接着在VS上新建一个C++项目,在资源视图里面打开所在的文件夹,将刚刚新建好的两个文件放到里面,接着以libopencad为例,就是如下操作:

解压之后

 一种将cmake编译成VS项目后更改绝对路径的方法和直接编译cmake程序的尝试

1)项目右键属性—VC++目录包含目录编辑添加include文件路径确定

 一种将cmake编译成VS项目后更改绝对路径的方法和直接编译cmake程序的尝试


2)项目右键属性库管理器附加依赖项直接写入opencad.lib—确定

 一种将cmake编译成VS项目后更改绝对路径的方法和直接编译cmake程序的尝试

 

3)项目右键属性库管理器附加库目录添加lib文件路径确定

 一种将cmake编译成VS项目后更改绝对路径的方法和直接编译cmake程序的尝试