You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于nmake编译NOVAS天文软件的简单Makefile需求

适用于VS2022 Community的NOVAS checkout-stars程序nmake Makefile

前提准备

  1. 打开Developer Command Prompt for Visual Studio 2022(确保VS编译工具链的环境变量已自动加载)
  2. 将checkout-stars.c、novas.c、novascon.c、nutation.c、solsys3.c、readeph0.c及对应头文件放在同一工作目录下

Makefile 内容

将以下代码保存为Makefile(文件名不要加后缀):

# 定义编译器与基础编译选项
CC = cl.exe
CFLAGS = /nologo /O2 /W3

# 目标程序名称
TARGET = checkout-stars.exe

# 需要编译的所有源文件列表
SRCS = checkout-stars.c novas.c novascon.c nutation.c solsys3.c readeph0.c

# 自动推导生成的目标文件
OBJS = $(SRCS:.c=.obj)

# 默认执行目标:编译并链接生成可执行文件
all: $(TARGET)

# 链接目标文件生成最终程序
$(TARGET): $(OBJS)
    $(CC) $(CFLAGS) /Fe:$@ $(OBJS)

# 单文件编译规则:将.c文件转为.obj文件
.c.obj:
    $(CC) $(CFLAGS) /c $<

# 清理编译产物的目标
clean:
    del /q $(OBJS) $(TARGET)

使用说明

  • 编译程序:在VS开发者命令行中切换到工作目录,执行命令 nmake
  • 清理编译生成的中间文件和可执行程序:执行命令 nmake clean

细节说明

  • CFLAGS中的/O2对应NOVAS指南的编译优化要求,/W3开启三级代码警告,/nologo关闭编译器启动冗余信息
  • 源文件中的头文件依赖已通过代码内的#include自动处理,无需额外在Makefile中声明
  • 后续扩展开发时,只需修改SRCS添加新源文件,或调整CFLAGS修改编译规则即可

内容的提问来源于stack exchange,提问作者Gerard Ashton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 07:38:17