Windows10编译PDcurses未生成pdcurses.dll及Makefile报错咨询
PDCurses编译问题的解决步骤
1. 先匹配Make工具与对应编译器
PDCurses的不同Makefile对应不同编译工具链,用错就会报错:
Makefile:适配MinGW/GCC环境,需安装MinGW并将其bin目录加入系统PATH,用mingw32-make执行Makefile.vc:适配Visual Studio的NMake,必须打开VS开发者命令提示符,用nmake -f Makefile.vc执行,不能用GNU MakeMakefile.bcc:对应Borland C++的make工具,需在Borland环境下运行Makefile.wcc:对应Watcom C/C++,要使用Watcom专属的make工具
你碰到的missing separator错误,就是因为用GNU Make去执行了为其他Make工具编写的Makefile,语法不兼容导致的。
2. 解决仅生成.o文件、未生成.dll的问题
如果用MinGW的mingw32-make -f Makefile只生成.o文件,说明链接步骤没触发,可按以下方式处理:
- 直接指定生成目标:执行
mingw32-make -f Makefile pdcurses.dll,强制触发链接流程 - 检查编译日志:有些情况下编译出错会卡在.o生成阶段,没走到链接步骤,仔细查看终端输出的报错信息
- 先清理旧文件:执行
mingw32-make -f Makefile clean后重新编译,避免残留文件干扰
3. 无需单独编译单个.c文件
PDCurses的Makefile已经处理了所有源文件的编译与链接逻辑,只要工具链匹配,直接用对应Makefile执行即可。
正确流程示例(MinGW/GCC)
- 安装MinGW,确保
mingw32-make.exe和gcc.exe在系统PATH中 - 打开PowerShell切换到PDCurses的wincon目录
- 执行
mingw32-make -f Makefile clean - 执行
mingw32-make -f Makefile,正常会先编译生成.o文件,再链接出pdcurses.dll
正确流程示例(Visual Studio)
- 打开「x64 Native Tools Command Prompt for VS 20XX」(对应你的VS版本)
- 切换到wincon目录
- 执行
nmake -f Makefile.vc clean - 执行
nmake -f Makefile.vc,生成对应VS版本的pdcurses.dll
内容的提问来源于stack exchange,提问作者David Lynch
相关产品推荐
相关产品推荐

