Windows 7 中的 rpcgen - 未找到预处理器
Posted
技术标签:
【中文标题】Windows 7 中的 rpcgen - 未找到预处理器【英文标题】:rpcgen in Windows 7 - no preprocessor found 【发布时间】:2015-09-16 06:47:20 【问题描述】:我创建了这样的 IDL:
struct intpair
int a;
int b;
;
program ADD_PROG
version ADD_VERS
int ADD(intpair) = 1;
= 1;
= 0x23451111;
我安装了 rpcgen,但是当我尝试用它编译时
rpcgen -C add.x
或
rpcgen add.x
显示下面的错误消息
找不到任何 C 预处理器 (cpp)
我安装了 gcc。
好的,该命令现在正在运行,但它返回一条错误消息。
C:\Users\baco\Desktop\rpcTest>rpcgen -C -Y "C:/Program Files (x86)/Dev-Cpp/MinGW64/bin" add.x
产生了输出:
Der Befehl "C:/Program" ist entweder falsch geschrieben oder konnte nicht gefunden werden.
因此它会产生一条错误消息(该命令未找到或拼写错误),但还会创建以下文件: add.h, add_clnt.c, add_svc.c, add_xdr.c
当我添加 -a 标志以生成额外的模板代码时,会出现以下错误消息:
rpcgen: unable to open Makefile.add=C:\Ú☻<ms\: m
也许路径又出问题了?
【问题讨论】:
使用 -Y 选项指定 gcc 的安装位置。 我试过:rpcgen -Y "C:\Program Files (x86)\Dev-Cpp\MinGW64\bin" add.x 但遗憾的是它给了我“fopen:没有这样的文件或目录跨度> 你肯定会说 Unix lisp 吗?使用正斜杠。 C:\Users\baco\Desktop\rpcTest>rpcgen -Y "C:/Program Files (x86)/Dev-Cpp/MinGW64/ bin" add.x Zugriff verweigert fopen : 没有这样的文件或目录 你的 rpcgen 是从哪里得到的?您能否验证cpp
和 gcc
是否在您的 PATH 中? (只需打开命令窗口并运行gcc
和`cpp)
【参考方案1】:
您可以使用 -Y 标志来指定 cpp 所在的路径。例如,在 Windows 上,这可能是: rpcgen -Y c:\pathtogcc myfile.x
回答上面的 fopen 错误是一个权限问题,即。拒绝访问。例如,在 Windows 上,您需要以管理员身份运行 cmd 提示符。
【讨论】:
【参考方案2】:检查这些:
gcc
在 PATH 中吗?你是如何安装gcc
的? Cygwin 还是其他?
C 预处理器是否命名为cpp
? (在某些系统上是cccp
)
如果一切都失败了,请创建一个名为 cpp.bat
的脚本,该脚本使用所有参数调用 gcc -E
。
【讨论】:
gcc 在路径中。我安装了 DevCpp,刚刚将“C:\Program Files (x86)\Dev-Cpp\MinGW64\bin”添加到路径中。我不知道如何创建这样的脚本cpp.bat。? 预处理器名为cpp.exe【参考方案3】:这是我所做的,它在 Windows 7 系统上运行: (1) 使用以下软件包安装 cygwin 32 位 rpcgen gcc核心 所有 isl 库(cpp.exe 需要 isl、isl10、cloog-isl,...) (2) 将 cygwin\bin 添加到 PATH(在 dos 中) (3) 在windows DOS 提示符下运行rpcgen,就可以生成.h 和.c 文件了。
根据您的描述,您的 rpcgen 似乎在寻找 cpp 而不是 cpp.exe 并且不知道有什么方法可以改变它,因此,选择正确的 rpcgen 来寻找 cpp.exe 是要走的路。我确实查看了 rpcgen 代码,它似乎根据操作系统设置查找 cpp 或 cpp.exe。
【讨论】:
是的,这是可行的,但是当我尝试使用 make 制作可执行文件时,它给了我一个错误。 C:\Users\baco\Desktop\rpcTest>make cc -g -c -o add_clnt.o add_clnt.c 在 add_clnt.c:7:0 中包含的文件中:add.h:9 :21:致命错误:rpc/rpc.h:没有这样的文件或目录#include它不喜欢预处理器路径中的空格。
【讨论】:
以上是关于Windows 7 中的 rpcgen - 未找到预处理器的主要内容,如果未能解决你的问题,请参考以下文章
Windows 7 64 位 libsvm 和 python 错误:函数 'svm_get_sv_indices' 未找到
Telegram + PHP (Windows 7):无法打开流:HTTP 请求失败! HTTP/1.1 404 未找到