vc2008不识别环境变量的路径中的空格?

bluevox3000 2010-07-02 08:56:08
vc2008,proe5.0
C:\Program Files\proeWildfire 5.0
环境变量设置,默认怎可能没空格?
添加"",问题依旧。
查遍资料无结论。
高手救我。
最基本的测试就没通过。
好像VC中的文件名不能有空格
D:\Program Files 中有空格


在安装测试时我的make_install的目录是PROTOOL_SRC = D:\Program Files\proeWildfire 5.0\aa 那为什么编译时有下列错误提示
^
NMAKE : fatal error U1073: don't know how to make 'D:\Program'
Stop.

____________________________________________________________

1>------ 已启动全部重新生成: 项目: make_install, 配置: Debug Win32 ------
2>------ 已启动全部重新生成: 项目: protk_config, 配置: Debug Win32 ------
2>正在删除项目“protk_config”(配置“Debug|Win32”)的中间文件和输出文件
1>正在执行生成文件项目操作
1>Microsoft (R) 程序维护实用工具 9.00.21022.08 版
1>版权所有 (C) Microsoft Corporation。保留所有权利。
1>NMAKE : fatal error U1073: 不知道如何生成“proeWildfire_5.0\protoolkit/protk_appls/pt_install_test/pt_install_src/TestInstall.c”
1>Stop.
1>Project : error PRJ0019: 某个工具从以下位置返回了错误代码: "正在执行生成文件项目操作"
1>生成日志保存在“file://e:\机械\论文及资料\proe二次开发论文参考\protk_install_example\protk_install_example\make_install\Debug\BuildLog.htm”
1>make_install - 2 个错误,0 个警告
2>正在编译...
2>UtilString.c
2>TestRunmode.c
2>TestInstall.c
2>TestError.c
2>.\src\TestError.c(118) : warning C4090: “函数”: 不同的“const”限定符
2>.\src\TestError.c(118) : warning C4028: 形参 1 与声明不同
2>.\src\TestError.c(118) : warning C4090: “函数”: 不同的“const”限定符
2>.\src\TestError.c(118) : warning C4028: 形参 2 与声明不同
2>.\src\TestError.c(135) : warning C4028: 形参 1 与声明不同
2>.\src\TestError.c(135) : warning C4028: 形参 2 与声明不同
2>PTApplsUnicodeUtils.c
2>正在生成代码...
2>正在链接...
2>LINK : 没有找到 pt_inst_test.dll 或上一个增量链接没有生成它;正在执行完全链接
2> 正在创建库 pt_inst_test.lib 和对象 pt_inst_test.exp
...全文
466 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
koenigz 2012-03-11
  • 打赏
  • 举报
回复
回3楼,需要获取短路径,最简便的办法就是使用DOS命令DIR/X
回10楼,用正反斜杠应该都可以
niebin84 2011-08-16
  • 打赏
  • 举报
回复
PROTOOL_SRC = "D:\Program Files\proeWildfire 5.0\aa"这里面的斜杠要反过来的
quan138898 2011-04-09
  • 打赏
  • 举报
回复
请问怎么解决的?
bluevox3000 2010-09-19
  • 打赏
  • 举报
回复
感谢,已结贴。
MCADEx 2010-08-16
  • 打赏
  • 举报
回复
用“~”代替
  • 打赏
  • 举报
回复
mark
zx119koko 2010-07-02
  • 打赏
  • 举报
回复
作为一个选择,你可以用dos 格式的路径替代,例如,C:\PROGRA~1\ULTRAE~1
如何获得dos路径,你可以查一下GetShortPathName的用法
queen25 2010-07-02
  • 打赏
  • 举报
回复
友情支持
bluevox3000 2010-07-02
  • 打赏
  • 举报
回复
下面是程序文件,“/”“\”在路径中有什么区别?谢谢

# -----------------------------------------------------------------------------
# File Name
MAKEFILENAME = make_install

# Machine Type
PRO_MACHINE_TYPE = i486_nt

# Executable names
EXE = pt_inst_test.exe
EXE_DLL = pt_inst_test.dll

# Pro/Toolkit Source & Machine Loadpoint (EXTERNAL USE - DEFAULT)
PROTOOL_SRC = $(PROE_INSTALL_PATH)\protoolkit
PROTOOL_SYS = $(PROTOOL_SRC)/$(PRO_MACHINE_TYPE)
PRODEV_SRC = $(PROE_INSTALL_PATH)/prodevelop
PRODEV_SYS = $(PRODEV_SRC)/$(PRO_MACHINE_TYPE)


# Pro/Toolkit Source & Machine Loadpoint (PTC INTERNAL USE)
#PROTOOL_SRC = $(PTCSRC)/protoolkit
#PROTOOL_SYS = $(PTCSYS)
#PRODEV_SRC = $(PTCSRC)/prodevelop
#PRODEV_SYS = $(PTCSYS)

# Include File Paths
INCS = -I. -I$(PROTOOL_SRC)/protk_appls/includes -I$(PROTOOL_SRC)/includes

# Compiler Flags
CC = cl
MACH = -DPRO_MACHINE=29 -DPRO_OS=4
CCFLAGS = -c -fp:precise -DUSE_ANSI_IOSTREAMS
CFLAGS = $(CCFLAGS) $(INCS) $(MACH)

# Libraries
PTCLIBS = $(PROTOOL_SYS)/obj/protoolkit.lib
PTCLIBS_DLL = $(PROTOOL_SYS)/obj/protk_dll.lib
LIBS = libcmt.lib kernel32.lib user32.lib wsock32.lib advapi32.lib mpr.lib winspool.lib netapi32.lib psapi.lib gdi32.lib shell32.lib comdlg32.lib ole32.lib ws2_32.lib

# Object files
OBJS = TestInstall.obj TestError.obj TestRunmode.obj UtilString.obj PTApplsUnicodeUtils.obj


# Linker
LINK = link

$(EXE) : $(OBJS) $(PTCLIBS)
@echo Start at `date`
@echo PROTOOL_SRC = $(PROTOOL_SRC)
@echo PROTOOL_SYS = $(PROTOOL_SYS)
#Executable applications compiled using WinMain() instead of main() should set the subsystem to windows instead of console.
$(LINK) /subsystem:console -out:$(EXE) /DEBUG /machine:i386 @<<longline.list
$(OBJS) $(PTCLIBS) $(LIBS)
<<

@echo Finished at `date`
del $(OBJS)

# Dll target
dll: $(EXE_DLL)

$(EXE_DLL) : $(OBJS) $(PTCLIBS_DLL)
@echo Start at `date`
@echo PROTOOL_SRC = $(PROTOOL_SRC)
@echo PROTOOL_SYS = $(PROTOOL_SYS)
$(LINK) /subsystem:console -out:$(EXE_DLL) /DEBUG /machine:i386 /dll @<<longline.list
$(OBJS) $(PTCLIBS_DLL) $(LIBS)
<<

@echo Finished at `date`
del $(OBJS)

# object dependencies

PROTK_INST = $(PROTOOL_SRC)/protk_appls/pt_install_test/pt_install_src/
PROTK_UTILS = $(PROTOOL_SRC)/protk_appls/pt_examples/pt_utils



TestInstall.obj: $(PROTK_INST)/TestInstall.c
$(CC) $(CFLAGS) $(PROTK_INST)/TestInstall.c


TestError.obj: $(PROTK_UTILS)/TestError.c
$(CC) $(CFLAGS) $(PROTK_UTILS)/TestError.c

TestRunmode.obj: $(PROTK_UTILS)/TestRunmode.c
$(CC) $(CFLAGS) $(PROTK_UTILS)/TestRunmode.c

UtilString.obj: $(PROTK_UTILS)/UtilString.c
$(CC) $(CFLAGS) $(PROTK_UTILS)/UtilString.c

PTApplsUnicodeUtils.obj: $(PROTK_UTILS)/PTApplsUnicodeUtils.c
$(CC) $(CFLAGS) $(PROTK_UTILS)/PTApplsUnicodeUtils.c

clean :
del $(OBJS)
del $(EXE)
nmake -f $(MAKEFILENAME)

clean_dll :
del $(OBJS)
del $(EXE_DLL)
nmake -f $(MAKEFILENAME) dll
真相重于对错 2010-07-02
  • 打赏
  • 举报
回复
PROTOOL_SRC = "D:\Program Files\proeWildfire 5.0\aa"

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧