它有點奇怪的故事。我正在嘗試構建openssl庫。那麼,這不是我第一次這樣做,直到現在還沒有問題。不過,我希望向TeamCity添加一個構建配置(實際上這個問題與TeamCity無關),可以按需構建我的第三方庫。所以,我創建與普通集OpenSSL的構建命令的步驟:OpenSSL構建奇怪的行爲
perl的配置VC-WIN64A
MS \ do_win64a.bat
NMAKE/d/F MS \ ntdll.mak
...並且在組裝第一個asm文件時構建失敗。所以我按照預期在VS2012 x64命令提示符下運行了相同的命令,並且構建成功。直到我花了一段時間才發現問題在輸出重定向。 Teamcity將構建步驟的輸出重定向到teamcity構建日誌,我也是通過將「> 1.txt」添加到「nmake/d/f ms \ ntdll.mak」命令,並且構建失敗。我會說這是構建失敗的一些意想不到的原因。 到目前爲止,我已經試過:
- 建立從VS2010重定向的命令提示符一樣, 失敗。
- 從VS2010命令提示符構建相同,但沒有 重定向,成功。
- 從VS2010/VS2012命令構建相同的命令 提示重定向到文件並強制重定向到CON(nmake /d/f ms \ ntdll.mak> CON> 1.txt)失敗。
- 谷歌搜索「NMAKE問題 當控制檯輸出重定向」 - 沒有什麼
- 谷歌搜索「時,控制檯輸出重定向的OpenSSL 的構建問題」 - 沒有什麼
我的設置 - Win2008R2,虛擬機。 - VS2010,最新更新 - VS2012,更新1
實際的錯誤: NMAKE:致命錯誤U1077:「「C:\ Program Files文件(x86)的\微軟的Visual Studio 11.0 \ VC \ BIN \ AMD64 \ ml64。 EXE「':返回代碼'0x1' ml64.exe抱怨asm文件聲明它應該以」END「語句結尾。它確實,但... 任何想法?
好吧,看起來它是一個(不)衆所周知的問題。 http://www.mentby.com/Group/openssl-users/cant-redirect-console-log-during-windows-build.html – kreuzerkrieg