如何解决如何在Visual Studio中从多个C源代码和头文件创建.dll或.lib?
我有Sundials数值求解器第一版(1.0)的C源文件和头文件。
https://computing.llnl.gov/projects/sundials
在IDA求解器的makefile信息中,看起来像这样。
# File Makefile.idas Version of 16 December 1999
# Makefile for the serial version of the IDA package
# Notes on machine and environment dependencies:
#
# (1) Files from the IDA solver are accessed as follows:
# (a) All IDA header files needed are assumed to be in the
# directory given by IDAINC below.
# (b) The IDA library file is given by IdaliB below.
#
# (2) The C compiler is given by CC below.
#
# Change these variables as needed for other environments.
IDAINC = ../include
IdaliB = ../lib/libidas.a
CC = cc
# Source files:
CODES = ida.c llnlmath.c idaspgmr.c spgmr.c iterativ.c idadense.c dense.c \
idaband.c band.c nvector.c
# Object files:
OBJS = ida.o llnlmath.o idaspgmr.o spgmr.o iterativ.o idadense.o dense.o \
idaband.o band.o nvector.o
# Command sequence:
# Note that the proper versions of the files nvector.c and nvector.h are
# copied into the proper directories for the compile,then removed.
all:
cp ./serial/nvector.c nvector.c
cp $(IDAINC)/serial/nvector.h $(IDAINC)/nvector.h
$(CC) -c $(CODES) -I$(IDAINC)
ar rcv $(IdaliB) $(OBJS)
rm -f *.o
rm $(IDAINC)/nvector.h
rm ./nvector.c
对我来说,unix命令只是编译所有源代码,然后将所有目标文件链接到unix中的库文件* .a中。
我想在Windows 10和Visual Studio(2019)或任何其他Window C软件中做同样的事情来创建一个静态库* .lib。你能帮我怎么做吗?
谢谢
解决方法
“我想在Windows 10和Visual Studio(2019)中做同样的事情...”
以下是使用Visual Studio 2019的示例步骤:
请注意,由于Visual Studios从定义上来说是一个IDE,因此它消除了开发人员的大部分责任,使他们不必过多地了解make文件和命令行编译指令。这些操作是在Visual Studios应用程序中通过GUI上的菜单和按钮完成的。
-
在菜单栏上,选择“文件”>“新建”>“项目”以打开“创建新项目”对话框。
-
在对话框顶部,将“语言”设置为C ++ [或C] ,将“平台”设置为Windows,并将“项目类型”设置为“库”。
-
从过滤的项目类型列表中,选择 [Console App] ,然后选择Next。
-
在“配置新项目”页面的“项目名称”框中输入一些 [Name] ,以指定项目的名称。在解决方案名称框中输入 [StaticNameLib] 。选择“创建”按钮以打开“ Windows桌面项目”对话框。
-
在Windows Desktop Project对话框的“应用程序类型”下,选择“静态库(.lib)”。
-
在“其他选项”下,取消选中“预编译头”复选框。选中清空项目框。
-
选择确定以创建项目。
注意:斜体方括号( [...] )中的内容是我的。有关原始内容,请参见下面的链接。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。