makefile平铺扩展,windowsXP和windows7之间的差异
我正在重新编译一个项目。以前我使用的是WindowsXP,但我切换到了Windows7 makefile有问题的部分是:makefile平铺扩展,windowsXP和windows7之间的差异,windows,makefile,Windows,Makefile,我正在重新编译一个项目。以前我使用的是WindowsXP,但我切换到了Windows7 makefile有问题的部分是: %else INSTALL_DIR := C:\PROGRA~1\micros~1.0\VC %endif %if !%exists($(INSTALL_DIR)) %error blablabla... %endif 似乎第一行中已经展开了PROGRA~1,因为我得到了以下错误: (line 25): Test: ')' expected; got "F
%else
INSTALL_DIR := C:\PROGRA~1\micros~1.0\VC
%endif
%if !%exists($(INSTALL_DIR))
%error blablabla...
%endif
似乎第一行中已经展开了PROGRA~1
,因为我得到了以下错误:
(line 25): Test: ')' expected; got "Files". Stop.
为什么行为不同于WindowsXP?如何应对?(这不是我使用这种结构的唯一地方…)
马克西姆斯-谢谢你的回答-这对我帮助很大;)我想确保一切正常,我注意到,我犯了一个愚蠢的错误 再一次,更多代码:
%ifdef OMAKE_MSVC_INSTALL_DIR
INSTALL_DIR := $(OMAKE_MSVC_INSTALL_DIR)
%echo case 1
%echo $(INSTALL_DIR)
%else
INSTALL_DIR := C:\PROGRA~1\micros~1.0\VC
%echo case 2
%endif
%if !%exists($(INSTALL_DIR))
%error blablabla
%endif
我以为案例2已经执行了,但事实上案例1已经执行了。。。
现在一切都清楚了:)
谢谢:-)这些短名称真的存在于有问题的PC上吗?可能是您的路径具有不同的短名称变体。无论如何,使用硬编码的短名称是个坏主意,它们不是常数。是的,我用“dir/x”检查过。不幸的是,情况并非如此……1。您确定执行了“%else”块吗?(INSTALL_DIR:=C:\PROGRA~1\micros~1.0\VC),可能是条件(此处不可见)失败?2.您在XP和7中使用的编译器版本是什么?