VS 编译CMake生成项目 命令setlocal报错(error MSB3073)

文章讲述了在使用Cmake进行跨平台代码管理时遇到的安装问题,包括没有管理员权限和目录读写权限的问题。作者通过检查cmake_install.cmake文件,发现一个头文件路径为空导致的错误,并通过创建一个空文件解决了此问题。最终,在VisualStudio中成功执行INSTALL项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面的话:
Cmake可以实现跨平台管理好自己的代码,nice tool;
如题,cmake install

 install(TARGETS LIB_SKLPT_SHARED 
        RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/XXX/bin
        LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/XXX/lib
        ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/XXX/lib)

自己有的人说是
1)没有用管理员权限打开,尝试了,失败;
2)没有目录读写权限,尝试了,仓库放到C盘以外,失败;
找到:
报错

打开属性命令行看到执行的语句为:
属性页

setlocal
"C:\Program Files\CMake\bin\cmake.exe" -DBUILD_TYPE=$(Configuration) -P cmake_install.cmake
if %errorlevel% neq 0 goto :cmEnd
:cmEnd
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
:cmErrorLevel
exit /b %1
:cmDone
if %errorlevel% neq 0 goto :VCEnd

于是进入对应的build的工程目录,找到cmake_install.cmake;
执行:

cmake -DBUILD_TYPE=Release -P cmake_install.cmake

报错在:
报错点
于是找到对应的cmake文件,第84行,发现,install的头文件路径,路径存在但是是空的(文件夹组织架构需要有那个文件夹);所以创建一个ReadMe.txt空文件丢进去,再次执行

cmake -DBUILD_TYPE=Release -P cmake_install.cmake

不再报错
成功,打开对应输出文件夹,OK了;
切到VS,右键生成INSTALL;成功;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值