Jas*_*ins 5 cmake bamboo visual-c++
我正在尝试使用CMake和Visual Studio 2015社区在Windows上的Atlasian Bamboo上构建C ++项目测试套件。以我的用户帐户运行时,CMake和VS可以正常工作,但是通过Bamboo运行它们时,出现以下错误:
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:3 (project):
No CMAKE_C_COMPILER could be found.
CMake Error at CMakeLists.txt:3 (project):
No CMAKE_CXX_COMPILER could be found.
Run Code Online (Sandbox Code Playgroud)
我不认为由于通常的原因我会收到此错误。CMake似乎能够找到编译器本身。而是,资源编译器似乎是错误的根源。在CMakeFiles/CMakeError.log文件中,我有以下输出:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\CL.exe
<<options removed> CMakeCCompilerId.c
C:\Windows\system32\config\systemprofile\AppData\Local\Temp\lnk{ECA1FDDF-C2EA-4
819-AFE3-6A5E06ECA59E}.tmp(1): error RC2135: file not found: C:\Windows\system3
2\config\systemprofile\AppData\Local\Temp\lnk{8A24DD6C-9300-41A6-9CAC-B48137E0E
056}.tmp [C:\bamboo\bamboo-agent-home\...\CMakeFiles\3.6.1\CompilerIdC\CompilerIdC.vcxproj]
Run Code Online (Sandbox Code Playgroud)
我不太了解针对初学者的报道路径。这是符号链接还是什么?为什么还要涉及资源编译器?有人知道为什么找不到该文件吗?
我也遇到过这个问题;它是在 Windows 下将 Bamboo 远程代理安装为服务的结果,并在本地用户帐户(而不是系统帐户)下运行。
问题似乎是 TEMP 和 TMP 环境变量设置为 c:\windows\system32\config\systemprofile,这适用于系统帐户,但不适用于本地用户帐户。它无法访问它们,因此 cmake 崩溃了。
解决方法是编辑 $BAMBOO_AGENT_HOME\conf\wrapper.conf 并添加以下行
set.TEMP=c:/some/path
set.TMP=c:/some/path
Run Code Online (Sandbox Code Playgroud)
以及通过添加以下内容来设置 java 的 tmpdir:
wrapper.java.additional.#=-Djava.io.tmpdir="C:/some/path"
Run Code Online (Sandbox Code Playgroud)
其中“#”是wrapper.java.additional 值序列中的下一个数字。
| 归档时间: |
|
| 查看次数: |
616 次 |
| 最近记录: |