微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Visual Studio中从多个C源代码和头文件创建.dll或.lib?

如何解决如何在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)”。

  • 在“其他选项”下,取消选中“预编译头”复选框。选中清空项目框。

  • 选择确定以创建项目。

注意:斜体方括号( [...] )中的内容是我的。有关原始内容,请参见下面的链接

link below

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。